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("文件不存在");}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1135852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Thinkphp-Laravel人脸识别考勤管理系统

目录技术架构与框架选择核心功能模块安全与性能优化应用场景与优势项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理技术架构与框架选择 ThinkPHP-Laravel人脸识别考勤管理系统采用混合框架设计&#xff0c;结合ThinkPHP的高效开发特性与Laravel的…

WinDbg在蓝屏诊断中的项目应用详解

从崩溃中破译真相&#xff1a;WinDbg实战解析蓝屏背后的系统密码你有没有遇到过这样的场景&#xff1f;客户急匆匆发来一张蓝屏截图&#xff0c;上面只有一行冰冷的错误代码0x000000D1&#xff0c;再无其他信息。运维团队一头雾水&#xff0c;硬件工程师怀疑内存条老化&#xf…

向量数据库全生命周期管理终极指南:从部署到亿级数据运维,收藏级干货助你打造高性能AI检索系统

向量数据库需全生命周期管理&#xff0c;涵盖数据导入、索引构建、监控、更新和清理五大阶段。核心挑战包括嵌入漂移、索引衰退和数据时效性等。通过构建幂等性导入流水线、实施定期索引维护、建立质量监控体系、采用原子化更新机制及执行严格留存策略&#xff0c;可确保系统在…

Thinkphp-Laravel基于Vue的健身房信息管理系统_q3su4

目录系统概述技术栈核心功能系统优势应用场景项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理系统概述 Thinkphp-Laravel基于Vue的健身房信息管理系统是一个结合后端框架&#xff08;ThinkPHP与Laravel&#xff09;和前端框架&#xff08;Vue.js&…

开源远程桌面工具RustDesk详解:绿色便携、无需注册的远程控制新选择

在远程办公、IT运维和异地协作日益普及的今天&#xff0c;一款稳定、安全且成本可控的远程桌面工具至关重要。虽然TeamViewer、AnyDesk等软件广为人知&#xff0c;但其免费版的限制和商业版的费用常令用户却步。RustDesk​ 作为一款由Rust语言编写的开源项目&#xff0c;以其开…

收藏!揭秘:90%的前端AI项目都是“伪AI“,大厂级AI产品的前端核心能力深度解析

文章揭示了当前前端AI开发的现状&#xff1a;多数项目仅停留在简单调用API的Demo阶段。真正的企业级AI产品需要前端掌握流式输出、模型状态管理、Tool Calling调度等核心能力&#xff0c;将AI产品视为状态机UI而非简单聊天框。前端开发者需深入理解AI模型工作原理&#xff0c;参…

【必看收藏】LangChain v1.0大更新!create_agent核心功能详解,让你的AI助手更强大

LangChain v1.0更新后&#xff0c;create_agent成为核心入口&#xff0c;可统一配置模型、工具和中间件。Tool作为AI的"手脚"&#xff0c;通过tool装饰器定义&#xff0c;让AI能执行实际操作。Middleware则可在模型调用前后插入自定义逻辑&#xff0c;实现业务解耦。…

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

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

从零实现数字信号观测:Proteus示波器使用方法

从零开始玩转数字信号&#xff1a;手把手教你用Proteus示波器看懂电路“心跳”你有没有过这样的经历&#xff1f;写了一段单片机代码&#xff0c;烧进芯片后LED就是不闪&#xff1b;或者搭了个555振荡电路&#xff0c;万用表测电压正常&#xff0c;可信号就是不对劲。这时候要是…

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

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

Thinkphp-Laravel基于体能分析的个性化健身方案生成

目录 基于体能分析的个性化健身方案生成数据采集与处理方案生成逻辑动态调整与反馈技术实现要点 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 基于体能分析的个性化健身方案生成 ThinkPHP和Laravel作为流行的PHP框架&#xff0c;能够高效支持…

智能体路由模式深度解析:4种实现方式+5步落地方法,收藏级干货

路由模式是智能体系统的"动态决策中枢"&#xff0c;通过"接收输入→评估决策→导向路径"的闭环&#xff0c;让智能体从固定流程升级为上下文感知的决策者。文章详解了4种主流实现方式&#xff08;基于LLM、嵌入、规则、机器学习模型&#xff09;的优缺点和…

上升下降时间对比:TTL与CMOS开关特性的深度解析

上升时间与下降时间之争&#xff1a;TTL 和 CMOS 到底谁更快&#xff1f; 你有没有遇到过这样的问题&#xff1a;明明逻辑功能都对&#xff0c;信号波形一上示波器&#xff0c;边沿却“软绵绵”的&#xff1f;时序勉强过关&#xff0c;但系统一提速就出错&#xff1f;噪声干扰下…

Java中的三大特性 - 超详细篇_java类的三特性探讨,零基础入门到精通,收藏这篇就够了

前言 这一节的内容可能有点多&#xff0c;大家可以选择性的来看 简介 Java的三大特性&#xff1a;封装、继承、多态 乍一听&#xff0c;好像很高大上&#xff0c;其实当你真正用的时候&#xff0c;会发现高大上的还在后面呢。。。 热身 在正式讲解三大特性之前&#xff0…

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

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

rs485和rs232区别总结详解:图文并茂易懂版

RS-485 和 RS-232 到底怎么选&#xff1f;一文讲透工业通信的底层逻辑 在调试一块老式PLC时&#xff0c;你有没有遇到过这样的问题&#xff1a;明明程序烧录正确、线也接好了&#xff0c;但就是收不到传感器的数据&#xff1f;换一根线试试——好了&#xff1b;再远一点装设备—…

快速理解WinDbg Preview的Local Kernel Debugging

一台电脑搞定内核调试&#xff1a;WinDbg Preview 的 Local Kernel Debugging 实战指南你有没有遇到过这样的场景&#xff1f;系统突然蓝屏&#xff0c;错误代码一闪而过&#xff1b;驱动在特定操作下无响应&#xff0c;却没有任何日志输出&#xff1b;内存使用一路飙升&#x…

爆肝整理!AI Agent记忆系统全指南:一篇搞定记忆三大核心问题,建议收藏!

本文深入解析AI Agent记忆系统&#xff0c;揭示其解决大模型"金鱼脑"问题的关键。系统包含三大核心问题&#xff1a;记忆形成、进化与检索&#xff1b;三种形态&#xff1a;Token级、参数化与潜变量记忆&#xff1b;三大功能&#xff1a;事实记忆、经验记忆与工作记忆…