.Net文件操作
2015-07-24 09:12
295 查看
[b]文件操作[/b]
File类,FileInfo类.using System.IO命名空间
(一)创建
方法一:
方法二:
(二)删除
方法一:
方法二:
(三)是否存在
方法一:
方法二:
(四)复制---不能跨盘符
方法一:
方法二:
(五)移动(改名)---不能跨盘符
注:Move()或MoveTo(): 1.路径不同名字相同(相当于--剪切),
2.路径不同名字不同(相当于--剪切+重命名),
3.路径相同名字不同(相当于--重命名).
且移动是同时将文件夹内的所有对象,移动.
方法一:
方法二:
(六)获得文件名
注:只有FileInfo()类一种方法
1.只获取文件名(貌似没什么用--下面show()的内容就是aaa.txt)
2.或取文件全名(包括路径)
(七)获得扩展名
注:只有FileInfo()类一种方法
(八)获取辅助属性
注:只有File()类一种方法
(九)修改辅助属性
注:只有File()类一种方法
(十)打开保存
文件读写
注:所有打开new一个新类之后先写 类名.close()
FileStream类:比较通用。
打开
保存
StreamReader类:
打开
或
StreamWriter类:
或
File类,FileInfo类.using System.IO命名空间
(一)创建
方法一:
1 private string path = @"F:\Text\aaa.txt"; private void CreateFile_Click(object sender, EventArgs e) { FileStream fs = File.Create(path); fs.Close();//返回FileStream必须释放流 }
方法二:
private string path = @"F:\Text\aaa.txt"; private void CreateFile_Click(object sender, EventArgs e) { FileInfo CreateFile = new FileInfo(path); FileStream stream = CreateFile.Create(); stream.Close();//返回FileStream类型必须释放流 }
(二)删除
方法一:
private string path = @"F:\Text\aaa.txt"; private void DeleteFile_Click(object sender, EventArgs e) { File.Delete(path); }
方法二:
private string path = @"F:\Text\aaa.txt"; private void DeleteFile_Click(object sender, EventArgs e) { FileInfo DeleteFile = new FileInfo(path); DeleteFile.Delete(); }
(三)是否存在
方法一:
private string path = @"F:\Text\aaa.txt"; private void ExistFile_Click(object sender, EventArgs e) { bool ex = File.Exists(path); if (ex) { MessageBox.Show("存在"); } else { MessageBox.Show("不存在"); } }
方法二:
private string path = @"F:\Text\aaa.txt"; private void ExistFile_Click(object sender, EventArgs e) { FileInfo ExistFile = new FileInfo(path); bool ex = ExistFile.Exists; if (ex) { MessageBox.Show("存在"); } else { MessageBox.Show("不存在"); } }
(四)复制---不能跨盘符
方法一:
private string path = @"F:\Text\aaa.txt"; private void CopyFile_Click(object sender, EventArgs e) { File.Copy(path, @"F:\Text\bbb.txt");//复制的同时里面的内容也和复制 }
方法二:
private void CopyFile_Click(object sender, EventArgs e) { FileInfo CopyFile = new FileInfo(path); CopyFile.CopyTo(@"F:\Text\bbb.txt"); //复制的同时里面的内容也和复制 }
(五)移动(改名)---不能跨盘符
注:Move()或MoveTo(): 1.路径不同名字相同(相当于--剪切),
2.路径不同名字不同(相当于--剪切+重命名),
3.路径相同名字不同(相当于--重命名).
且移动是同时将文件夹内的所有对象,移动.
方法一:
private string path = @"F:\Text\aaa.txt"; private void MoveFile_Click(object sender, EventArgs e) { File.Move(path, @"F:\Test\bbb.txt"); }
方法二:
private string path = @"F:\Text\aaa.txt"; private void MoveFile_Click(object sender, EventArgs e) { FileInfo MoveFIle = new FileInfo(path); MoveFIle.MoveTo(@"F:\Test\ccc.txt"); }
(六)获得文件名
注:只有FileInfo()类一种方法
1.只获取文件名(貌似没什么用--下面show()的内容就是aaa.txt)
private string path = @"F:\Text\aaa.txt"; private void FileName_Click(object sender, EventArgs e) { FileInfo FileName = new FileInfo(path); string name = FileName.Name; MessageBox.Show(name); }
2.或取文件全名(包括路径)
private string path = @"F:\Text\aaa.txt"; private void FileName_Click(object sender, EventArgs e) { FileInfo FileName = new FileInfo(path); string name = FileName.FullName; MessageBox.Show(name); }
(七)获得扩展名
注:只有FileInfo()类一种方法
private string path = @"F:\Text\aaa.txt"; private void ExtensionName_Click(object sender, EventArgs e) { FileInfo ExtensionName = new FileInfo(path); string exname = ExtensionName.Extension; MessageBox.Show(exname); }
(八)获取辅助属性
注:只有File()类一种方法
private string path = @"F:\Text\aaa.txt"; private void GetAttribute_Click(object sender, EventArgs e) { FileAttributes Attributes = File.GetAttributes(path); DateTime CreateTime = File.GetCreationTime(path); DateTime LastAccessTime = File.GetLastAccessTime(path); DateTime GetLastWriteTime = File.GetLastWriteTime(path); MessageBox.Show(Attributes.ToString()+"\n"+CreateTime.ToString()+"\n"+LastAccessTime.ToString()+"\n"+GetLastWriteTime.ToString()); }
(九)修改辅助属性
注:只有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类:比较通用。
打开
private string path = @"F:\Text\aaa.txt"; private void Open_Stream_Click(object sender, EventArgs e) { FileStream stream = new FileStream(path, FileMode.Open);//读出的数据是以二进制代码形式存储 byte[] nr = new byte[stream.Length]; stream.Read(nr,0,nr.Length); stream.Close(); //把byte[]的内容变成字符串放在文本框中。 string s = System.Text.Encoding.Default.GetString(nr); textBox1.Text = s; }
保存
private string path = @"F:\Text\aaa.txt"; private void Save_Stream_Click(object sender, EventArgs e) { //把文本框的字符串变成二进制数组 byte[] nr = System.Text.Encoding.Default.GetBytes(textBox1.Text); //送到文件中去 FileStream stream = new FileStream(path, FileMode.OpenOrCreate); stream.Write(nr, 0, nr.Length); stream.Close(); }
StreamReader类:
打开
private string path = @"F:\Text\aaa.txt"; private void Open_Reader_Click(object sender, EventArgs e) { StreamReader reader = new StreamReader(path, Encoding.Default); string s = reader.ReadToEnd(); reader.Close(); textBox1.Text = ""; textBox1.Text = s; }
或
private string path = @"F:\Text\aaa.txt"; private void Open_Writer_Click(object sender, EventArgs e) { FileStream stream = new FileStream(path, FileMode.Open); StreamReader reader = new StreamReader(stream, Encoding.Default); string s = reader.ReadToEnd(); reader.Close(); stream.Close(); textBox1.Text = s; }
StreamWriter类:
private string path = @"F:\Text\aaa.txt"; private void Save_Writer_Click(object sender, EventArgs e) { StreamWriter writer = new StreamWriter(path, false, Encoding.Default); writer.WriteLine(textBox1.Text); writer.Close(); }
或
private string path = @"F:\Text\aaa.txt"; private void Save_Writer_Click(object sender, EventArgs e) { FileStream stream = new FileStream(path, FileMode.OpenOrCreate); StreamWriter writer = new StreamWriter(stream); writer.WriteLine(textBox1.Text); writer.Close(); stream.Close(); }
相关文章推荐
- 什么是重名问题,树型目录结构如何解决这一问题。
- 如何将 AppDelegate's ManagedObjectContext 增加到自己创建的UIViewController
- QPixmap和QImage的区别及剖析 (转载) (2011-10-25 14:51:25)
- JavaScript学习要点(八)
- Warning: Cannot modify header information原因及解决方案
- linux 查询Mysql的安装位置
- 如何在应用程序中集成V8 JS引擎
- 好吧,CSS3 3D transform变换,不过如此!
- HDU 1028 整数拆分问题 Ignatius and the Princess III
- MySQL开发规范之我见(更新版)---叶老师
- 愤怒的小鸟2 确定无缘Win10 也不包括Win10 Mobile
- MFC打开保存对话框
- RHEL5使用3322动态域名方法
- 如何使用rpm 命令来卸载Mysql软件
- treap修订
- .Net文件*夹*操作
- Pascal's Triangle
- DevExpress v15.1:DevExtreme控件升级(三)
- Swift:函数与方法
- 感冒了。。。