Java文件操作:创建、删除、复制与读取
需积分: 10 47 浏览量
更新于2024-09-24
收藏 5KB TXT 举报
"Java中对文件的操作"
在Java编程中,对文件的操作是常见的任务,Java提供了丰富的IO类库来支持这些操作。本资源主要涵盖了五个方面:创建目录、创建新文件、删除文件、复制文件以及读取文件内容。
1. 创建目录:
在Java中,我们使用`java.io.File`类来处理文件和目录。创建新目录可以使用`mkdir()`方法。例如:
```java
String filePath = "c:/aaa/";
File myFilePath = new File(filePath);
if (!myFilePath.exists()) {
myFilePath.mkdir();
}
```
这段代码首先创建一个`File`对象,然后检查路径是否存在,如果不存在则创建一个新的目录。
2. 创建新文件:
创建新文件可以使用`createNewFile()`方法。下面的示例展示了如何创建一个文本文件并写入内容:
```java
String filePath = "c:/.txt";
File myFilePath = new File(filePath);
if (!myFilePath.exists()) {
myFilePath.createNewFile();
}
FileWriter resultFile = new FileWriter(myFilePath);
PrintWriter myFile = new PrintWriter(resultFile);
String strContent = "测试内容".toString();
myFile.println(strContent);
resultFile.close();
```
这里不仅创建了文件,还通过`FileWriter`和`PrintWriter`向文件中写入了字符串。
3. 删除文件:
删除文件使用`delete()`方法。例如:
```java
String filePath = "c:/要删除的文件.xls";
File myDelFile = new File(filePath);
myDelFile.delete();
```
如果文件存在且没有被其他进程占用,它将被成功删除。
4. 复制文件:
复制文件通常涉及使用`FileInputStream`和`FileOutputStream`。以下是一个简单的文件复制示例:
```java
int byteSum = 0;
int byteRead = 0;
FileInputStream inStream = new FileInputStream("c:/aaa.doc");
FileOutputStream fs = new FileOutputStream("d:/aaa.doc");
byte[] buffer = new byte[1444];
int length;
while ((byteRead = inStream.read(buffer)) != -1) {
System.out.println("<DT><B>" + byteRead + "</B></DT>");
byteSum += byteRead;
fs.write(buffer, 0, byteRead);
}
inStream.close();
```
这段代码逐块读取源文件并写入目标文件,直至文件末尾。
5. 读取文件内容:
除了上述的逐字节读取,还可以使用`BufferedReader`或`Scanner`等类以行或字符为单位读取文件内容。例如:
```java
String filePath = "c:/文件路径.txt";
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
```
这段代码会逐行打印文件内容。
以上是Java中对文件的基本操作,包括创建、删除、复制和读取。这些基本操作是任何文件系统交互的基础,可以满足大部分日常开发需求。在实际应用中,可能还需要考虑异常处理、多线程安全等因素,以确保程序的健壮性和安全性。
2014-01-19 上传
2011-09-03 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
Luckstar
- 粉丝: 0
- 资源: 3
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析