文件

    xiaoxiao2023-10-06  160

    文件

    //相对路径:就是找当前程序所在的路径 //FileInfo fileInfo = new FileInfo(“TextFile1.txt”); //绝对路径:加上文件完整的路径名 //FileInfo fileInfo = new FileInfo(@“C:\Users\devsiki\Documents\Visual Studio 2012\Projects\学习csharp编程 高级篇\026-文件操作-查看文件和文件夹信息\bin\Debug\TextFile1.txt”); //Console.WriteLine(fileInfo.Exists);//判断该文件是否存在 //Console.WriteLine(fileInfo.Name);//文件名.后缀 //Console.WriteLine(fileInfo.Directory);//取得文件所在路径 //Console.WriteLine(fileInfo.Length); //Console.WriteLine(fileInfo.IsReadOnly); fileInfo.Delete();//删除的是输出路径的文件,工程下的文件还是存在的 //fileInfo.CopyTo(“tt.txt”); //FileInfo fileInfo = new FileInfo(“siki.txt”); //if (fileInfo.Exists == false)//如果当前文件不存在 //{ // fileInfo.Create();//创建当前文件 //} //fileInfo.MoveTo(“siki2.txt”);//重命名操作

    //文件夹操作(目录操作) (按照完整路径名创建) //DirectoryInfo dirInfo = new DirectoryInfo(@"C:\Users\devsiki\Documents\Visual Studio 2012\Projects\学习csharp编程 高级篇\026-文件操作-查看文件和文件夹信息\bin\Debug");//查看Debug文件夹的信息 //Console.WriteLine(dirInfo.Exists); //Console.WriteLine(dirInfo.Name); //Console.WriteLine(dirInfo.Parent); //Console.WriteLine(dirInfo.Root); //Console.WriteLine(dirInfo.CreationTime); //dirInfo.CreateSubdirectory("siki"); //DirectoryInfo dirInfo = new DirectoryInfo("test"); //if (dirInfo.Exists == false) //{ // dirInfo.Create();//创建目录 //} Console.ReadKey();

    读取文件 如果你要读取的文件内容不是很多,可以使用 File.ReadAllText(FilePath) 或指定编码方式 File.ReadAllText(FilePath, Encoding)的方法。 它们都一次将文本内容全部读完,并返回一个包含全部文本内容的字符串 string str = File.ReadAllText(@“c:\temp\ascii.txt”);

    // 也可以指定编码方式  string str2 = File.ReadAllText(@“c:\temp\ascii.txt”, Encoding.ASCII); 也可以使用方法File.ReadAllLines。该方法返回一个字符串数组。每一行都是一个数组元素。 string[] strs = File.ReadAllLines(@“c:\temp\ascii.txt”);

    当文本的内容比较大时,我们就不要将文本内容一次读完,而应该采用流(Stream)的方式来读取内容。.Net为我们封装了StreamReader类。初始化StreamReader类有很多种方式。下面我罗列出几种 StreamReader sr1 = new StreamReader(@“c:\temp\utf-8.txt”);  // 同样也可以指定编码方式  StreamReader sr2 = new StreamReader(@“c:\temp\utf-8.txt”, Encoding.UTF8);

    FileStream fs = new FileStream(@“C:\temp\utf-8.txt”, FileMode.Open, FileAccess.Read, FileShare.None);  StreamReader sr3 = new StreamReader(fs);  StreamReader sr4 = new StreamReader(fs, Encoding.UTF8);

    FileInfo myFile = new FileInfo(@“C:\temp\utf-8.txt”);  // OpenText 创建一个UTF-8 编码的StreamReader对象  StreamReader sr5 = myFile.OpenText();

    // OpenText 创建一个UTF-8 编码的StreamReader对象  StreamReader sr6 = File.OpenText(@“C:\temp\utf-8.txt”); 初始化完成之后,你可以每次读一行,也可以每次读一个字符 ,还可以每次读几个字符,甚至也可以一次将所有内容读完。 // 读一行  string nextLine = sr.ReadLine();

    // 读一个字符  int nextChar = sr.Read();

    // 读100个字符  int nChars = 100;  char[] charArray = new char[nChars];  int nCharsRead = sr.Read(charArray, 0, nChars);              // 全部读完  string restOfStream = sr.ReadToEnd(); 使用完StreamReader之后,不要忘记关闭它: sr.Closee(); 假如我们需要一行一行的读,将整个文本文件读完,下面看一个完整的例子: StreamReader sr = File.OpenText(@“C:\temp\ascii.txt”);  string nextLine;  while ((nextLine = sr.ReadLine()) != null)  {      Console.WriteLine(nextLine);  }  sr.Close();

    最新回复(0)