news 2026/9/5 22:02:07

3.1 File

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.1 File

1.文件基础操作

2.文件读取操作

3.文件写入操作

4.文件属性/状态判断


1.文件基础操作

usingSystem;usingSystem.IO;classFileBasicOps{staticvoidMain(){stringsourcePath="test.txt";stringcopyPath="test_copy.txt";stringmovePath="new_folder/test_moved.txt";// 1. 创建空文件(using自动释放FileStream资源,避免文件被占用)using(File.Create(sourcePath)){Console.WriteLine("空文件创建成功");}// 2. 复制文件(第三个参数true表示:目标文件已存在时覆盖)File.Copy(sourcePath,copyPath,true);Console.WriteLine("文件复制成功");// 3. 移动文件(先确保目标目录存在,否则会报错)Directory.CreateDirectory("new_folder");// 创建目标目录File.Move(copyPath,movePath);Console.WriteLine("文件移动成功");// 4. 删除文件(先判断文件是否存在,更严谨)if(File.Exists(sourcePath)){File.Delete(sourcePath);Console.WriteLine("源文件删除成功");}}}

2.文件读取操作

usingSystem;usingSystem.IO;usingSystem.Text;classFileReadOps{staticvoidMain(){stringtextPath="text_file.txt";stringbinPath="image.png";// 1. 读取全部文本(指定编码为UTF-8,避免中文乱码)stringallText=File.ReadAllText(textPath,Encoding.UTF8);Console.WriteLine("全部文本内容:\n"+allText);// 2. 按行读取文本(适合日志、配置文件)string[]lines=File.ReadAllLines(textPath);Console.WriteLine("\n按行读取:");for(inti=0;i<lines.Length;i++){Console.WriteLine($"第{i+1}行:{lines[i]}");}// 3. 读取二进制文件(如图片)byte[]binData=File.ReadAllBytes(binPath);Console.WriteLine($"\n图片文件字节数:{binData.Length}");}}

3.文件写入操作

usingSystem;usingSystem.IO;usingSystem.Text;classFileWriteOps{staticvoidMain(){stringwritePath="write_test.txt";// 1. 写入文本(覆盖原有内容,文件不存在则创建)File.WriteAllText(writePath,"Hello World!\n这是第一行文本",Encoding.UTF8);Console.WriteLine("基础文本写入成功");// 2. 按行写入文本(覆盖原有内容)string[]lines={"第二行文本","第三行文本","中文测试"};File.WriteAllLines(writePath,lines,Encoding.UTF8);Console.WriteLine("按行写入文本成功");// 3. 追加文本到末尾(不覆盖)File.AppendAllText(writePath,"\n这是追加的文本",Encoding.UTF8);File.AppendAllLines(writePath,new[]{"追加的行1","追加的行2"});Console.WriteLine("文本追加成功");// 4. 写入二进制数据(比如保存字节数组为文件)byte[]binData=Encoding.UTF8.GetBytes("二进制测试内容");File.WriteAllBytes("binary_test.bin",binData);Console.WriteLine("二进制文件写入成功");}}

4.文件属性/状态判断

usingSystem;usingSystem.IO;classFileAttrOps{staticvoidMain(){stringfilePath="test.txt";// 1. 判断文件是否存在(最常用的前置检查)if(File.Exists(filePath)){// 2. 获取文件时间信息DateTimecreateTime=File.GetCreationTime(filePath);DateTimemodifyTime=File.GetLastWriteTime(filePath);Console.WriteLine($"文件创建时间:{createTime}");Console.WriteLine($"文件最后修改时间:{modifyTime}");// 3. 获取/设置文件属性(设为只读)FileAttributesattr=File.GetAttributes(filePath);File.SetAttributes(filePath,attr|FileAttributes.ReadOnly);Console.WriteLine("文件已设为只读");// 恢复属性(取消只读)File.SetAttributes(filePath,attr);Console.WriteLine("文件只读属性已取消");}else{Console.WriteLine("文件不存在");}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 4:18:46

基于Windows的Packet Tracer网络仿真项目应用实例

用Packet Tracer搭建企业网&#xff1a;从零开始的实战仿真之旅你有没有遇到过这种情况&#xff1f;学了一堆网络协议&#xff0c;背了无数命令行&#xff0c;可一到真机配置就手忙脚乱——IP配错了、路由不通、ACL莫名其妙拦掉了流量……别急&#xff0c;这不是你不够努力&…

作者头像 李华
网站建设 2026/9/5 22:01:35

Edge浏览器143便携版:基于Chromium内核的官方增强,免安装更轻便

随着Chromium内核的Edge浏览器在性能、兼容性和扩展生态上的显著提升&#xff0c;它已成为许多用户替代Chrome的首选。然而&#xff0c;官方安装版会深度集成到系统中。这个便携版则提供了另一种更灵活的使用方式&#xff0c;既保留了Edge的全部功能&#xff0c;又具备了绿色软…

作者头像 李华
网站建设 2026/9/3 18:04:45

Thinkphp-Laravel基于协同过滤算法的图书借阅推荐系统vue功能多

目录系统架构设计协同过滤算法实现核心功能模块性能优化策略扩展功能集成项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理系统架构设计 Thinkphp-Laravel框架作为后端基础&#xff0c;采用MVC模式实现业务逻辑与数据分离。Vue.js构建动态前端界面…

作者头像 李华
网站建设 2026/8/31 8:59:55

LLM秒懂牙片,诊断快一倍

&#x1f4dd; 博客主页&#xff1a;Jax的CSDN主页 LLM秒懂牙片&#xff1a;牙科诊断的“快一倍”革命目录LLM秒懂牙片&#xff1a;牙科诊断的“快一倍”革命 引言&#xff1a;牙片诊断的效率困局 一、技术应用场景&#xff1a;从门诊到乡村诊所的诊断重构 二、技术能力映射&am…

作者头像 李华
网站建设 2026/9/3 20:56:16

【氮气】N的最外层电子数是5,为何N-N之间是3键?

这触及了共价键理论的核心。氮气&#xff08;N₂&#xff09;分子中的三键&#xff08;N≡N&#xff09; 是一个经典案例&#xff0c;它完美展示了原子如何通过共享电子来达到最稳定的电子构型。 简单来说&#xff1a;三个共价键能让每个氮原子都满足“八隅体规则”&#xff0c…

作者头像 李华