Java文件操作全攻略:从创建到压缩
5星 · 超过95%的资源 需积分: 9 91 浏览量
更新于2024-07-27
3
收藏 326KB PDF 举报
"Java文件操作大全涵盖了丰富的实用技巧,包括但不限于文件和目录管理、数据读写、加密以及压缩等常见任务。本文档详细介绍了以下几个关键知识点:
1. 创建文件夹:首先,通过`java.io.File`类,可以创建一个新的文件夹。如果目标路径不存在,使用`mkdir()`方法尝试创建,如果创建失败,则捕获`Exception`并打印错误信息。
```java
File myFolderPath = new File(%%1);
try {
if (!myFolderPath.exists()) {
myFolderPath.mkdir();
}
} catch (Exception e) {
System.out.println("新建目录操作出错");
e.printStackTrace();
}
```
2. 创建文件:为了创建新文件,同样使用`File`类配合`FileWriter`和`PrintWriter`,在指定路径创建文件并写入内容。如果文件不存在,会调用`createNewFile()`方法创建,然后关闭文件流。
```java
File myFilePath = new File(%%1);
try {
if (!myFilePath.exists()) {
myFilePath.createNewFile();
}
FileWriter resultFile = new FileWriter(myFilePath);
PrintWriter myFile = new PrintWriter(resultFile);
myFile.println(%%2);
myFile.flush();
resultFile.close();
} catch (Exception e) {
System.out.println("新建文件操作出错");
e.printStackTrace();
}
```
3. 删除文件:`File`类提供了`delete()`方法用于删除文件,如果删除失败,捕获异常并记录错误。
```java
File myDelFile = new File(%%1);
try {
myDelFile.delete();
} catch (Exception e) {
System.out.println("删除文件操作出错");
e.printStackTrace();
}
```
4. 删除文件夹:涉及递归删除文件夹内容,这里使用`LinkedList`存储待处理的文件夹路径,逐个遍历子文件和子文件夹,调用`delete()`方法。注意,删除前应确保所有文件已移除或关闭。
```java
LinkedList<String> folderList = new LinkedList<String>();
folderList.add(%%1);
while (folderList.size() > 0) {
File file = new File(folderList.poll());
File[] files = file.listFiles();
ArrayList<File> fileList = new ArrayList<File>();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
fileList.add(files[i]);
} else {
// 删除单个文件
try {
files[i].delete();
} catch (Exception e) {
// 记录删除错误
}
}
}
// 删除空文件夹
if (fileList.isEmpty()) {
try {
file.delete();
} catch (Exception e) {
// 记录删除错误
}
}
}
```
此外,文档还提及了其他操作,如在指定目录下搜索文件、文件合并、文件分割、读取`.ini`文件属性、合并目录下所有文件、读取XML数据库以及ZIP压缩文件等。这些操作需要结合相应的API(如`java.io.FileReader`、`java.util.Scanner`、`java.util.zip.ZipOutputStream`等)进行实现,具体代码根据实际需求编写。熟练掌握这些基础文件操作是Java编程中的重要技能,能够帮助开发者高效地处理文件系统操作。"
2010-09-21 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
lx76939412
- 粉丝: 261
- 资源: 392
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载