您的位置:首页 > 编程语言 > C#

CSharp学习笔记之八 文件的读写

2013-12-16 16:49 936 查看
在我们的程序的编写过程中,总避免不了对文件的读写,比如说要读取一个软件的配置,这时候不就需要我么来设计的文件的读写么,但是对于C#来说,是如何对文件进行读写的呢。下面的我们来看一个列子:

class Test
{
static void Main(string[] args)
{
string filePath = @"test.txt";

string text = "A class is the most powerful data type in C#. Like a structure,";
string result;

try
{
File.WriteAllText(filePath, text);
Console.WriteLine("文件写入成功");
}
catch (System.Exception ex)
{
Console.WriteLine(ex.ToString());

}

try
{
result = File.ReadAllText(filePath);
Console.WriteLine(result);
}
catch (System.Exception ex)
{
Console.WriteLine(ex.ToString());
}

Console.ReadKey();
}
}


对于该例子,这里是是调用了System.IO.File类中的方法进行的一个读写。其当然这里的使用的是WriteAllText 和ReadAllText,其实对于这个文件的类还有其他的很多的方法进行读写文件的。下面给在MSDN中给出的该类中读写文件的其他的方法:





当然这些都只仅仅是通过File这个类来进行文件的读与写的。对于C#来说其实还存在有其他的对文件的读写的方法。

还有另外的就是FileStream这个类,通过这个类来对文件进行的一个读与写的。

其实FileStream类是从System.IO.Stream这个类进行派生的一个类,顾名思义,这个类是是说的一个文件流的。什么是文件什么是文件流呢,我来举一个例子,比如所你的电脑里面有一个.txt文件,这个东西,就是文件,但是这个txt中的东西是怎么存放的呢,大家都知道文件计算机存储东西都是使用的一个01流来存储一些东西的,这些东西就是所谓的文件流。

如何使用这个类来进行文件读写呢。先看下面的这个例子

public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

private async void Button_Click(object sender, RoutedEventArgs e)
{
UnicodeEncoding uniencoding = new UnicodeEncoding();
string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";

byte[] result = uniencoding.GetBytes(UserInput.Text);

using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
{
SourceStream.Seek(0, SeekOrigin.End);
await SourceStream.WriteAsync(result, 0, result.Length);
}
}
}


这个类首先我们是要有一个文件流,当然这个文件流是要可进行操作的,如果这个文件不可读不可写,那么就没有意义了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: