在C编程中,文件读写操作是基础且常见的任务。无论是存储配置信息、日志记录还是持久化用户数据,正确地读写文件都是至关重要的。本文将详细介绍C中的文件读写技巧,并通过实例解析帮助你轻松实现数据存储与读取。...
在C#编程中,文件读写操作是基础且常见的任务。无论是存储配置信息、日志记录还是持久化用户数据,正确地读写文件都是至关重要的。本文将详细介绍C#中的文件读写技巧,并通过实例解析帮助你轻松实现数据存储与读取。
在C#中,进行文件读写操作通常需要使用System.IO命名空间下的类。以下是一些常用的类:
FileStream:用于读写文件流。StreamReader和StreamWriter:用于读写文本文件。File和Directory:用于文件和目录的创建、删除、复制等操作。StreamWriterusing System;
using System.IO;
class Program
{ static void Main() { string filePath = @"C:\example\output.txt"; // 创建StreamWriter对象 using (StreamWriter writer = new StreamWriter(filePath)) { // 写入数据 writer.WriteLine("Hello, World!"); writer.WriteLine("This is a test file."); } Console.WriteLine("File written successfully."); }
}FileStreamusing System;
using System.IO;
class Program
{ static void Main() { string filePath = @"C:\example\output.txt"; byte[] data = System.Text.Encoding.UTF8.GetBytes("Hello, World!"); // 创建FileStream对象 using (FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write)) { // 写入数据 fileStream.Write(data, 0, data.Length); } Console.WriteLine("File written successfully."); }
}StreamReaderusing System;
using System.IO;
class Program
{ static void Main() { string filePath = @"C:\example\output.txt"; // 创建StreamReader对象 using (StreamReader reader = new StreamReader(filePath)) { // 读取数据 string line; while ((line = reader.ReadLine()) != null) { Console.WriteLine(line); } } Console.WriteLine("File read successfully."); }
}FileStreamusing System;
using System.IO;
class Program
{ static void Main() { string filePath = @"C:\example\output.txt"; byte[] buffer = new byte[1024]; int bytesRead; // 创建FileStream对象 using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { // 读取数据 while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0) { Console.WriteLine(System.Text.Encoding.UTF8.GetString(buffer, 0, bytesRead)); } } Console.WriteLine("File read successfully."); }
}以下是一个简单的实例,演示如何将一个对象序列化到文件中,并在稍后读取该对象。
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
class Person
{ public string Name; public int Age; public Person(string name, int age) { Name = name; Age = age; }
}
class Program
{ static void Main() { string filePath = @"C:\example\person.bin"; Person person = new Person("John Doe", 30); // 创建BinaryFormatter对象 BinaryFormatter formatter = new BinaryFormatter(); // 序列化对象 using (FileStream fileStream = new FileStream(filePath, FileMode.Create)) { formatter.Serialize(fileStream, person); } Console.WriteLine("Object serialized successfully."); }
}using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
class Person
{ public string Name; public int Age; public Person(string name, int age) { Name = name; Age = age; }
}
class Program
{ static void Main() { string filePath = @"C:\example\person.bin"; // 创建BinaryFormatter对象 BinaryFormatter formatter = new BinaryFormatter(); // 反序列化对象 using (FileStream fileStream = new FileStream(filePath, FileMode.Open)) { Person person = (Person)formatter.Deserialize(fileStream); Console.WriteLine($"Name: {person.Name}, Age: {person.Age}"); } Console.WriteLine("Object deserialized successfully."); }
}通过以上实例,你可以看到如何将一个对象序列化到文件中,并在稍后读取该对象。这种技术常用于持久化对象状态,以便在程序重启后恢复。
本文介绍了C#中的文件读写技巧,并通过实例解析帮助你轻松实现数据存储与读取。通过掌握这些技巧,你可以有效地管理应用程序中的数据,确保数据的持久性和可靠性。