C#文件操作

mac2022-06-30  10

文件操作

File类,FileInfo类.using System.IO命名空间(一)创建

方法一:

1 private string path = @"F:\Text\aaa.txt"; 2 private void CreateFile_Click(object sender, EventArgs e) 3 { 4 FileStream fs = File.Create(path); 5 fs.Close();//返回FileStream必须释放流 6 }

 

方法二:

1 private string path = @"F:\Text\aaa.txt"; 2 private void CreateFile_Click(object sender, EventArgs e) 3 { 4 FileInfo CreateFile = new FileInfo(path); 5 FileStream stream = CreateFile.Create(); 6 stream.Close();//返回FileStream类型必须释放流 7 }

 

(二)删除

方法一:

1 private string path = @"F:\Text\aaa.txt"; 2 private void DeleteFile_Click(object sender, EventArgs e) 3 { 4 File.Delete(path); 5 }

 

方法二:

1 private string path = @"F:\Text\aaa.txt"; 2 private void DeleteFile_Click(object sender, EventArgs e) 3 { 4 FileInfo DeleteFile = new FileInfo(path); 5 DeleteFile.Delete(); 6 }

 

(三)是否存在

方法一:

1 private string path = @"F:\Text\aaa.txt"; 2 private void ExistFile_Click(object sender, EventArgs e) 3 { 4 bool ex = File.Exists(path); 5 if (ex) 6 { 7 MessageBox.Show("存在"); 8 } 9 else 10 { 11 MessageBox.Show("不存在"); 12 } 13 }

 

方法二:

1 private string path = @"F:\Text\aaa.txt"; 2 private void ExistFile_Click(object sender, EventArgs e) 3 { 4 FileInfo ExistFile = new FileInfo(path); 5 bool ex = ExistFile.Exists; 6 if (ex) 7 { 8 MessageBox.Show("存在"); 9 } 10 else 11 { 12 MessageBox.Show("不存在"); 13 } 14 }

 

(四)复制---不能跨盘符

方法一:

1 private string path = @"F:\Text\aaa.txt"; 2 private void CopyFile_Click(object sender, EventArgs e) 3 { 4 File.Copy(path, @"F:\Text\bbb.txt");//复制的同时里面的内容也和复制 5 }

 

方法二:

1 private void CopyFile_Click(object sender, EventArgs e) 2 { 3 FileInfo CopyFile = new FileInfo(path); 4 CopyFile.CopyTo(@"F:\Text\bbb.txt"); //复制的同时里面的内容也和复制 5 }

 

(五)移动(改名)---不能跨盘符

 

注:Move()或MoveTo(): 1.路径不同名字相同(相当于--剪切),

 

          2.路径不同名字不同(相当于--剪切+重命名),

 

          3.路径相同名字不同(相当于--重命名).

 

 且移动是同时将文件夹内的所有对象,移动.

 

方法一:

1 private string path = @"F:\Text\aaa.txt"; 2 private void MoveFile_Click(object sender, EventArgs e) 3 { 4 File.Move(path, @"F:\Test\bbb.txt"); 5 }

 

方法二:

1 private string path = @"F:\Text\aaa.txt"; 2 private void MoveFile_Click(object sender, EventArgs e) 3 { 4 FileInfo MoveFIle = new FileInfo(path); 5 MoveFIle.MoveTo(@"F:\Test\ccc.txt"); 6 }

 

(六)获得文件名

注:只有FileInfo()类一种方法

  1.只获取文件名(貌似没什么用--下面show()的内容就是aaa.txt)

     

1 private string path = @"F:\Text\aaa.txt"; 2 private void FileName_Click(object sender, EventArgs e) 3 { 4 FileInfo FileName = new FileInfo(path); 5 string name = FileName.Name; 6 MessageBox.Show(name); 7 }

 

  2.或取文件全名(包括路径)

1 private string path = @"F:\Text\aaa.txt"; 2 private void FileName_Click(object sender, EventArgs e) 3 { 4 FileInfo FileName = new FileInfo(path); 5 string name = FileName.FullName; 6 MessageBox.Show(name); 7 }

 

(七)获得扩展名

注:只有FileInfo()类一种方法

1 private string path = @"F:\Text\aaa.txt"; 2 private void ExtensionName_Click(object sender, EventArgs e) 3 { 4 FileInfo ExtensionName = new FileInfo(path); 5 string exname = ExtensionName.Extension; 6 MessageBox.Show(exname); 7 }

 

 

(八)获取辅助属性

注:只有File()类一种方法

1 private string path = @"F:\Text\aaa.txt"; 2 private void GetAttribute_Click(object sender, EventArgs e) 3 { 4 FileAttributes Attributes = File.GetAttributes(path); 5 DateTime CreateTime = File.GetCreationTime(path); 6 DateTime LastAccessTime = File.GetLastAccessTime(path); 7 DateTime GetLastWriteTime = File.GetLastWriteTime(path); 8 MessageBox.Show(Attributes.ToString()+"\n"+CreateTime.ToString()+"\n"+LastAccessTime.ToString()+"\n"+GetLastWriteTime.ToString()); 9 }

 

(九)修改辅助属性

注:只有File()类一种方法

private string path = @"F:\Text\aaa.txt"; private void button1_Click(object sender, EventArgs e) { FileAttributes Attributes = new FileAttributes(); Attributes = FileAttributes.Hidden; File.SetAttributes(path, Attributes); File.SetCreationTime(path, DateTime.Now); File.SetLastAccessTime(path, DateTime.Now); File.SetLastWriteTime(path, DateTime.Now); }

 

(十)打开保存

  文件读写

注:所有打开new一个新类之后先写 类名.close()

  FileStream类:比较通用。

    打开

1 private string path = @"F:\Text\aaa.txt"; 2 private void Open_Stream_Click(object sender, EventArgs e) 3 { 4 FileStream stream = new FileStream(path, FileMode.Open);//读出的数据是以二进制代码形式存储 5 byte[] nr = new byte[stream.Length]; 6 stream.Read(nr,0,nr.Length); 7 stream.Close(); 8 //把byte[]的内容变成字符串放在文本框中。 9 string s = System.Text.Encoding.Default.GetString(nr); 10 textBox1.Text = s; 11 }

    保存

1 private string path = @"F:\Text\aaa.txt"; 2 private void Save_Stream_Click(object sender, EventArgs e) 3 { 4 //把文本框的字符串变成二进制数组 5 byte[] nr = System.Text.Encoding.Default.GetBytes(textBox1.Text); 6 //送到文件中去 7 FileStream stream = new FileStream(path, FileMode.OpenOrCreate); 8 stream.Write(nr, 0, nr.Length); 9 stream.Close(); 10 }

 

  StreamReader类:

    打开

1 private string path = @"F:\Text\aaa.txt"; 2 private void Open_Reader_Click(object sender, EventArgs e) 3 { 4 StreamReader reader = new StreamReader(path, Encoding.Default); 5 string s = reader.ReadToEnd(); 6 reader.Close(); 7 textBox1.Text = ""; 8 textBox1.Text = s; 9 }

1 private string path = @"F:\Text\aaa.txt"; 2 private void Open_Writer_Click(object sender, EventArgs e) 3 { 4 FileStream stream = new FileStream(path, FileMode.Open); 5 StreamReader reader = new StreamReader(stream, Encoding.Default); 6 string s = reader.ReadToEnd(); 7 reader.Close(); 8 stream.Close(); 9 textBox1.Text = s; 10 }

 

 

  StreamWriter类:

 

1 private string path = @"F:\Text\aaa.txt"; 2 private void Save_Writer_Click(object sender, EventArgs e) 3 { 4 StreamWriter writer = new StreamWriter(path, false, Encoding.Default); 5 writer.WriteLine(textBox1.Text); 6 writer.Close(); 7 }

1 private string path = @"F:\Text\aaa.txt"; 2 private void Save_Writer_Click(object sender, EventArgs e) 3 { 4 FileStream stream = new FileStream(path, FileMode.OpenOrCreate); 5 StreamWriter writer = new StreamWriter(stream); 6 writer.WriteLine(textBox1.Text); 7 writer.Close(); 8 stream.Close(); 9 } 10

转载于:https://www.cnblogs.com/IT1517/p/4768336.html

最新回复(0)