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

Java 文件处理完全指南:创建、读取、写入和删除文件详细解析

Java 文件操作

文件处理简介

文件处理是任何应用程序的重要部分。Java 提供了许多用于创建、读取、更新和删除文件的方法。

Java 文件处理

Java 中的文件处理主要通过 java.io 包中的 File 类完成。该类允许我们处理文件,包括创建、读取、写入和删除文件。

创建 File 对象

要使用 File 类,我们首先需要创建该类的对象,然后指定文件名或目录名。

import java.io.File;File myObj = new File("filename.txt");

File 类的常用方法

File 类提供了许多有用的方法,用于创建和获取有关文件的信息,例如:

  • canRead(): 测试文件是否可读
  • canWrite(): 测试文件是否可写
  • createNewFile(): 创建一个空文件
  • delete(): 删除文件
  • exists(): 测试文件是否存在
  • getName(): 返回文件的名称
  • getAbsolutePath(): 返回文件的绝对路径名
  • length(): 返回文件的大小(字节为单位)
  • list(): 返回目录中文件的数组
  • mkdir(): 创建一个目录

读取文件

可以使用多种方法读取文件,例如 ScannerBufferedReaderFileInputStream 等。

使用 Scanner 类读取文件内容

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;public class ReadFile {public static void main(String[] args) {try {File myObj = new File("filename.txt");Scanner myReader = new Scanner(myObj);while (myReader.hasNextLine()) {String data = myReader.nextLine();System.out.println(data);}myReader.close();} catch (FileNotFoundException e) {System.out.println("An error occurred.");e.printStackTrace();}}
}

写入文件

同样,可以使用多种方法将数据写入文件,例如 PrintWriterBufferedWriterFileOutputStream 等。

使用 PrintWriter 类写入文件内容

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;public class WriteToFile {public static void main(String[] args) {try {PrintWriter myWriter = new PrintWriter("filename.txt");myWriter.write("Handling files in Java can be a bit tricky, but fun enough!");myWriter.close();System.out.println("Successfully wrote to the file.");} catch (FileNotFoundException e) {System.out.println("An error occurred.");e.printStackTrace();}}
}

删除文件

要删除文件,可以使用 delete() 方法。

示例

import java.io.File;public class DeleteFile {public static void main(String[] args) {File myObj = new File("filename.txt");if (myObj.delete()) {System.out.println("Deleted the file: " + myObj.getName());} else {System.out.println("Failed to delete the file.");}}
}

删除文件夹示例

import java.io.File;public class DeleteFolder {public static void main(String[] args) {File myObj = new File("C:\\Users\\MyName\\Test");if (myObj.delete()) {System.out.println("Deleted the folder: " + myObj.getName());} else {System.out.println("Failed to delete the folder.");}}
}

删除多个文件或文件夹示例

import java.io.File;public class DeleteMultipleFiles {public static void main(String[] args) {File dir = new File("C:\\Users\\MyName\\Test");File[] files = dir.listFiles();for (File file : files) {if (file.delete()) {System.out.println("Deleted: " + file.getName());} else {System.out.println("Failed to delete: " + file.getName());}}}
}

以上示例提供了一些基本的文件操作方法,但在实际应用中,您可能需要更复杂的逻辑和错误处理。确保处理文件操作时考虑到可能发生的异常,以提高程序的健壮性。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

相关文章:

  • Scala介绍与环境搭建
  • 【React】在 JSX 中通过大括号使用 JavaScript
  • Avalonia笔记2 -数据集合类控件
  • 二叉树|450.删除二叉搜索树中的节点
  • leetcode 1143.最长公共子序列
  • 【问题处理】蓝鲸监控-数据断点解决
  • ​LeetCode解法汇总518. 零钱兑换 II
  • MySQL内置函数
  • 解決flask-restful提示Did not attempt to load JSON data 问题
  • Python 文件操作-1
  • hdlbits系列verilog解答(Mux256to1)-63
  • PCL拟合并绘制平面(二)
  • 电阻的妙用:限流、分压、滤波,助力电路设计!
  • JavaScript Uncaught ReferenceError: WScript is not defined
  • JavaScript基础练习题之求斐波那契数列第N项的值
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • C++类中的特殊成员函数
  • Git学习与使用心得(1)—— 初始化
  • JAVA_NIO系列——Channel和Buffer详解
  • Otto开发初探——微服务依赖管理新利器
  • Ruby 2.x 源代码分析:扩展 概述
  • Vue 2.3、2.4 知识点小结
  • vue的全局变量和全局拦截请求器
  • 读懂package.json -- 依赖管理
  • 分布式任务队列Celery
  • 搞机器学习要哪些技能
  • 关于Flux,Vuex,Redux的思考
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 盘点那些不知名却常用的 Git 操作
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • #define与typedef区别
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • %@ page import=%的用法
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (2015)JS ES6 必知的十个 特性
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)斐波那契Fabonacci函数
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .htaccess配置常用技巧
  • .Net core 6.0 升8.0
  • .NET Core 成都线下面基会拉开序幕
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .net 调用php,php 调用.net com组件 --
  • .Net8 Blazor 尝鲜
  • .NET处理HTTP请求
  • .Net环境下的缓存技术介绍