
.NET中的IO操作之文件流(一)
发布日期:2021-05-28 16:25:05
浏览次数:30
分类:精选文章
本文共 1613 字,大约阅读时间需要 5 分钟。
#FileSystemOperationsInNet
在C#编程中,文件流操作是常见且重要的一部分。以下是关于文件流操作的实用指南:
1. 基本文件操作
读取文件内容
FileStream fsRead = new FileStream("1.txt", FileMode.Open);byte[] bytes = new byte[fsRead.Length];int r = fsRead.Read(bytes, 0, bytes.Length);// 关闭流fsRead.Close();fsRead.Dispose();
写入文件内容
FileStream fsWrite = new FileStream(@"1.txt", FileMode.Create);StreamWriter sw = new StreamWriter(fsWrite);String msg = "HelloWorld";sw.WriteLine(msg);// 自动关闭流
2. 字节与字符串转换
字符串到字节数组
String msg = "HelloWorld";byte[] bytes = Encoding.UTF8.GetBytes(msg);
字节数组到字符串
String newMsg = Encoding.UTF8.GetString(bytes);
3. 编码问题
避免乱码
使用相同的编码方式进行写入和读取。例如:
StreamWriter sw = new StreamWriter(@"1.txt", true, Encoding.GetEncoding("GB2312"));StreamReader sr = new StreamReader(@"1.txt", Encoding.GetEncoding("GB2312"));// 或使用 UTF-8StreamWriter sw = new StreamWriter(@"1.txt", true, Encoding.UTF8);StreamReader sr = new StreamReader(@"1.txt", Encoding.UTF8);
4. IDisposable 接口
实现资源释放
任何需要释放托管资源的对象应实现IDisposable
接口。例如:
class MyResource : IDisposable{ public void Dispose() { // 释放资源 }}
5. 异常处理
安全地关闭资源
FileStream fs = null;try{ fs = new FileStream(@"1.txt", FileMode.Open); // 具体操作}finally{ if (fs != null) { fs.Dispose(); }}
使用 using 语句
using (FileStream fs = new FileStream(@"1.txt", FileMode.Open)){ // 提供了significant performance和代码简洁性}
6. 读取和写入按行
StreamWriter 和 StreamReader
StreamWriter sw = new StreamWriter(@"output.txt");sw.WriteLine("HelloWorld");StreamReader sr = new StreamReader(@"input.txt");string line = sr.ReadLine();
以上示例涵盖了从基础到高级的操作,包括编码、异常处理和资源管理。如果你有具体的问题,随时提出!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年05月06日 17时40分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
关于吴恩达的深度学习的一些授课视频里面英文翻译错误的实例展示
2019-03-12
伴随矩阵和逆矩阵的关系证明
2019-03-12
突破Bias-Variance困境
2019-03-12
Form窗体属性
2019-03-12
解决宝塔安装wordpress无法连接到数据库问题
2019-03-12
解决Eclipse加载图片或网页出现404错误
2019-03-12
vue 错误收集
2019-03-12
Java选择排序算法实现
2019-03-12
00010.02最基础客户信息管理软件(意义类的小项目,练习基础,不涉及数据库)
2019-03-12
00013.05 字符串比较
2019-03-12
LeetCode: 138. 复制带随机指针的链表(中等)[DFS, 迭代]
2019-03-12
Effective Java 读书笔记
2019-03-12
SpringBoot使用@Email报错误
2019-03-13
Rabbitmq的内存磁盘监控
2019-03-13
访问servlet时弹出文件下载框解决方法
2019-03-13
Java中的注释
2019-03-13
cookie、session、token
2019-03-13
IDEA-@Slf4j和log标签&@Data(Lombok)无效
2019-03-13