zoukankan      html  css  js  c++  java
  • Create, Read, Write, Copy, Move and Delete a Text File using C#

    In this article, we will explore some common text file operations using C#.

    This article has been requested by a long time reader of dotnetcurry.com. NET provides various classes like the File and FileInfo, to create, read, write and perform such similar operations on a text file. For example, you can use the Create() method of the File class to create a text file. The same could also be done using the CreateText() method of the FileInfo class. Similarly these classes also contain functionality to copy, move or delete a file. The trick is to find out when to use which class and for what purpose.

    The ‘File’ class contains static methods and performs security checks on all the methods. The FileInfo contains instance methods and security check is not necessary. So this method is useful if you plan to use the same instance of the class in multiple operations.

    However for copying, moving or deleting the files, the static methods are faster. Moreover, the Garbage Collector has less work to do when you use the File class, since the methods are static.

    For reading and writing text files, we have some abstract classes like the TextReader and TextWriter classes. There are some useful classes like the StreamReader, StringReader, StreamWriter and StringWriter that derive from these abstract classes.

    This article is by no means a comprehensive guide to demonstrate the capabilities of these classes. It should be treated as a ‘How do I’ kind of a series to demonstrate some of the capabilities of these classes. I will be giving some references at the end of this article, which should be read to gain a better understanding of these classes. Let us now see some code which demonstrates how to use these classes.

    Before you go ahead and use these methods, declare a class variable called ‘fileLoc’ which contains the filepath of the text file.

    C#

    string fileLoc = @"c:\sample1.txt";

    Create a Text File

    C#

    // Create a Text File

    private void btnCreate_Click(object sender, EventArgs e)

            {

    FileStream fs = null;

    if (!File.Exists(fileLoc))

                {

    using (fs = File.Create(fileLoc))

                    {

                    }

                }

            }

    Write to a Text File

    C#

    // Write to a Text File

    private void btnWrite_Click(object sender, EventArgs e)

            {

    if (File.Exists(fileLoc))

                {

    using (StreamWriter sw = new StreamWriter(fileLoc))

                    {

                        sw.Write("Some sample text for the file");                  

                    }

                }

            }

    Read From a Text File

    C#

    // Read From a Text File

    private void btnRead_Click(object sender, EventArgs e)

            {

    if (File.Exists(fileLoc))

                {

    using (TextReader tr = new StreamReader(fileLoc))

                    {

    MessageBox.Show(tr.ReadLine());

                    }

                }

            }

    Copy a Text File

    C#

    // Copy a Text File

    private void btnCopy_Click(object sender, EventArgs e)

            {

    string fileLocCopy = @"d:\sample1.txt";

    if (File.Exists(fileLoc))

                {

    // If file already exists in destination, delete it.

    if (File.Exists(fileLocCopy))

    File.Delete(fileLocCopy);

    File.Copy(fileLoc, fileLocCopy);

                }

            }

    Move a Text File

    C#

    // Move a Text file

    private void btnMove_Click(object sender, EventArgs e)

            {

    // Create unique file name

    string fileLocMove = @"d:\sample1" + System.DateTime.Now.Ticks + ".txt";

    if (File.Exists(fileLoc))

                {

    File.Move(fileLoc, fileLocMove);

                }

            }

    Delete a Text File

    C#

    // Delete a text file

    private void btnDelete_Click(object sender, EventArgs e)

            {

    if (File.Exists(fileLoc))

                {

    File.Delete(fileLoc);

                }

            }

    We saw how to achieve some of the most common requirements while dealing with text files. Take a look at these reference links below to get a detailed understanding of the File and FileInfo class.

    References :

    File Class

    FileInfo Class

    File System and Registry Guide

  • 相关阅读:
    左转弯待转区,什么时候能进,什么时候不能进?
    吵架最激烈不过一分钟,而那一分钟你说出的话,是你用一百分钟都弥补不回来的。
    2017年1月14 15开车总结 英西
    2016年12月17 18 练车总结
    有时候为了方便sql语句的对比和查询,我们可以使用declare来定义变量 上下篇的问题
    EF中一对多的关系中,用单字段保存ID拼接字符串
    美行Thinkpad八通道快捷入口
    使用sqlserver的游标功能来导数据的常见写法
    JMeter教程01-下载和安装
    Windows无法安装到GPT分区形式磁盘的解决办法
  • 原文地址:https://www.cnblogs.com/chenqingwei/p/1575106.html
Copyright © 2011-2022 走看看