在C#中,文件读写和流操作是进行文件处理和数据传输的常见任务。
// 使用StreamReader读取文件示例代码
string filePath = "path/to/file.txt";
using (StreamReader reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
在上面的示例中,我们使用StreamReader类打开并读取文件中的文本数据。通过使用while循环和ReadLine方法,逐行读取文件内容并输出到控制台。
// 使用StreamWriter写入文件示例代码
string filePath = "path/to/file.txt";
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("Hello, World!");
writer.WriteLine("This is a sample text.");
}
在上面的示例中,我们使用StreamWriter类创建并打开一个文件,并使用WriteLine方法将文本数据写入文件。通过使用using语句,可以在代码块执行完毕后自动关闭文件。
// 使用BinaryReader读取二进制文件示例代码
string filePath = "path/to/file.bin";
using (BinaryReader reader = new BinaryReader(File.Open(filePath, FileMode.Open)))
{
int intValue = reader.ReadInt32();
double doubleValue = reader.ReadDouble();
byte[] byteArray = reader.ReadBytes(10);
}
在上面的示例中,我们使用BinaryReader类打开并读取一个二进制文件。通过调用ReadInt32、ReadDouble和ReadBytes等方法,可以按照特定的数据类型读取文件中的数据。
// 使用BinaryWriter写入二进制文件示例代码
string filePath = "path/to/file.bin";
using (BinaryWriter writer = new BinaryWriter(File.Open(filePath, FileMode.Create)))
{
int intValue = 10;
double doubleValue = 3.14;
byte[] byteArray = { 1, 2, 3, 4, 5 };
writer.Write(intValue);
writer.Write(doubleValue);
writer.Write(byteArray);
}
在上面的示例中,我们使用BinaryWriter类创建并打开一个二进制文件,并使用Write方法将不同类型的数据写入文件。
// 使用FileStream进行流操作示例代码
string filePath = "path/to/file.txt";
using (FileStream fileStream = new FileStream(filePath, FileMode.Open))
{
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0)
{
// 处理读取的数据
}
}
在上面的示例中,我们使用FileStream类打开一个文件流,并使用Read方法从流中读取数据到缓冲区。通过循环读取的方式,可以逐步处理大文件而不会一次性加载整个文件到内存中。