当前位置: 首页 > news >正文

Java 文件操作与 IO 流入门:从基础到实战,新手必看全攻略

在 Java 开发中文件操作和IO 流是处理本地文件、数据读写的核心技术也是新手入门最容易踩坑的知识点。从零梳理文件操作的基础用法、IO 流的分类与实战帮你彻底搞定 Java 文件 IO。一先搞懂Java 中的文件路径必学Java 操作文件第一步必须写对路径路径错了直接报FileNotFoundException。1. 两种路径绝对路径 vs 相对路径绝对路径从根目录开始写的完整路径唯一指向一个文件。WindowsD:\\project\\test.txtLinux/Mac/home/user/test.txt相对路径相对于当前项目根目录的路径最常用。写法test.txt含义项目根目录下的 test.txt 文件2.路径分隔符跨平台必看Windows 用\Linux/Mac 用/Java 中\是转义字符必须写\\✅最安全、跨平台写法// 自动适配 Windows/Linux/Mac永远不报错 String path File.separator project File.separator test.txt; File file new File(path);3.路径常见坑重点单写\一定会报错必须写\\相对路径找不到文件 → 检查是否放在项目根目录路径带中文 → 建议全英文路径避免编码问题二Java 文件操作基础File 类java.io.File类是 Java 中用于操作文件 / 目录的核心类它不负责读写数据只负责对文件 / 目录进行创建、删除、查询、遍历等管理操作。1.核心常用方法// 1. 创建 File 对象路径可以是文件也可以是目录 File file new File(test.txt); File dir new File(myFolder); // 2. 判断方法 file.exists(); // 判断文件/目录是否存在 file.isFile(); // 判断是否是文件 file.isDirectory(); // 判断是否是目录 // 3. 创建方法 file.createNewFile();// 创建空文件抛出 IOException dir.mkdir(); // 创建单级目录 dir.mkdirs(); // 创建多级目录推荐 // 4. 删除方法 file.delete(); // 删除文件/空目录## 2. 新手必踩的 3 个坑mkdir () 与 mkdirs () 区别mkdir()只能创建一级目录如a创建多级目录a/b/c会失败必须用mkdirs()创建嵌套目录。文件删除失败如果文件被 IO 流占用未关闭delete()会直接返回false删除无效。路径分隔符问题Windows 用\Linux/Mac 用/Java 中\是转义字符推荐写法// 跨平台通用写法 File file new File(a File.separator test.txt);三、IO 流核心概念1. 什么是 IO 流IOInput/Output流数据在内存与硬盘 / 网络之间传输的通道像水流一样传输数据。输入流Input数据从硬盘 → 内存读取文件输出流Output数据从内存 → 硬盘写入文件2. IO 流两大分类1按数据类型分字节流InputStream输入、OutputStream输出传输单位字节8 bit适用场景所有文件图片、视频、音频、文本等字节流是 Java IO 的基础能处理任何类型文件是开发中最常用的流。文件字节输入流FileInputStream读取文件public static void readFileByByte() throws IOException { // 1. 创建流对象 FileInputStream fis new FileInputStream(test.txt); // 2. 读取数据单个字节读取 int b; while ((b fis.read()) ! -1) { // read() 读到末尾返回 -1 System.out.print((char) b); } // 3. 关闭流必须释放资源 fis.close(); }文件字节输出流FileOutputStream写入文件public static void writeFile() throws IOException { // 第二个参数 true追加写入false/不写覆盖写入 FileOutputStream fos new FileOutputStream(test.txt, true); // 写入字节数据 fos.write(Hello Java IO!\n.getBytes()); fos.write(你好文件操作.getBytes()); fos.close(); }字符流Reader输入、Writer输出传输单位字符2 byte适用场景纯文本文件.txt/.java/.md专门解决中文乱码问题2体系总结字节流基类InputStream、OutputStream万能流字符流基类Reader、Writer纯文本专用
http://www.zskr.cn/news/1407092.html

相关文章:

  • 机房运维效率翻倍:手把手教你用同方易教V2.4搞定几十台电脑系统批量部署
  • ChatGPT起草的合同被法院驳回?——4类高危法律文本AI生成红线与人工复核必检清单
  • 2026 全年天津离婚律所口碑榜!围绕多套房产分割方案/学区房学位保留 - 资讯快报
  • 2026年塑料托盘厂家深度测评:如何为仓储物流匹配最佳方案? - 资讯快报
  • Git版本控制-本地阶段
  • 双非小白逆袭美团大模型Offer!深度复盘面试血泪经验,附收藏攻略
  • 收藏!小白程序员必看:AI时代如何逆袭,大模型学习指南
  • 5.27 构建之法阅读笔记03 - GENGAR
  • GitHub下载太慢怎么办?3分钟让下载速度提升10倍的秘诀
  • arXiv MCP Server:构建AI驱动的学术研究基础设施
  • 南澳多端柔性直流输电工程:MMC架构、分层控制与工程实践解析
  • RTCache:为NVM磨损均衡设计的高效重映射表缓存机制
  • 6G近场通信:从球面波信道到波束聚焦的技术跃迁
  • qmc-decoder:解锁QQ音乐加密格式,让音乐自由流动
  • 2026年中山方形条纹圈吸顶灯配件优质定制量产厂家盘点 - 资讯纵览
  • 【LeetCode刷题日记】450.二叉搜索树的删除,一文彻底搞懂递归法解决二叉搜索树的删除操作
  • 2026年注册海南投资管理公司及股权架构搭建,专业靠谱财税首选哪家?附新版海南财税代办机构多维度横向测评评分排行榜 - 资讯纵览
  • 2026求职季:AI简历工具实测,这5款帮你冲刺面试邀约!
  • 别再抄网上Prompt了!ChatGPT用户手册编写核心框架(含FABE结构+认知负荷评估模型+可审计性标记体系)
  • 高性能无服务器计算:融合HPC与云原生的前沿架构与实践
  • 优化光栅扫描与鲁棒PID控制:提升近场天线测量效率的关键技术
  • AI智能体PII防护:从检测到预防的三层纵深防御架构实践
  • 反向海淘系统微服务拆分:从单体到分布式演进实战经验
  • 告别杂乱窗口!用QTTabBar让你的Windows文件管理像浏览器一样高效
  • 数智赋能民生服务 我国家庭维修行业迈向规范化升级新阶段 - 维小达科技
  • Windows苹果驱动一键革命:告别iTunes臃肿,60秒完成专业级设备连接
  • 编译器理论
  • Powerbuilder混淆,加密(powerbuilder防止反编译,pb混淆器,PB加壳,支持5-12) obfuscator for PowerBuilder
  • 告别纹理模糊和卡顿:一份给UE4开发者的纹理流送(Texture Streaming)优化配置清单
  • 基于51单片机的全自动洗衣机控制系统设计(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)_文章底部可以扫码