您的位置:首页 > 其它

.Net文件操作

2015-07-24 09:12 295 查看
[b]文件操作[/b]

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();
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: