Java IO 实践:文件读写详解
117 浏览量
更新于2024-09-03
收藏 47KB PDF 举报
"Java IO 之文件读写简单实例"
在Java编程中,I/O(Input/Output)操作是处理数据输入和输出的关键部分。本文主要介绍如何使用Java IO API进行文件的读写操作,这对于任何Java开发者来说都是基础且重要的技能。
首先,我们来看文件的读取操作。在Java中,有两种主要的方式来读取文件:以字节为单位和以字符为单位。
1. **以字节为单位读取文件**:
这种方式适用于读取任何类型的文件,包括二进制文件(如图片、音频、视频等)。`FileInputStream`类是用于字节流读取的基本类。在示例代码中,首先创建一个`FileInputStream`对象,然后通过`read()`方法逐个或一次性读取多个字节。`read()`方法返回的是一个整数,表示读取到的字节的ASCII值,当文件结束时返回-1。
```java
in = new FileInputStream(file);
while ((tempByte = in.read()) != -1) {
System.out.write(tempByte);
}
```
上述代码会读取文件的每个字节并将其输出到控制台。另一种方法是一次读取多个字节到字节数组中,这通常能提高效率。
2. **以字符为单位读取文件**:
对于文本文件,我们通常使用字符流来读取,因为这能更好地处理字符编码问题。`FileReader`类用于字符流的读取。在提供的代码片段中,有以下方法用于以字符为单位读取文件:
```java
Reader reader = new FileReader(fileName);
int charRead;
while ((charRead = reader.read()) != -1) {
System.out.print((char)charRead);
}
```
这段代码将逐个读取文件中的字符,并将其打印出来。
接着,我们来看文件的写入操作。Java提供了`FileOutputStream`和`FileWriter`类分别用于字节流和字符流的写入。基本流程是创建相应的流对象,然后使用`write()`方法将数据写入文件。
1. **文件写入**:
- **以字节为单位写入**:
```java
FileOutputStream fos = new FileOutputStream(fileName);
fos.write(bytes); // bytes 是要写入的字节数组
fos.close();
```
- **以字符为单位写入**:
```java
FileWriter writer = new FileWriter(fileName);
writer.write("Hello, World!"); // 写入字符串
writer.close();
```
文件读写过程中,异常处理是非常重要的一环。在上述代码中,都使用了`try-catch-finally`块来捕获和处理可能的`IOException`,确保在完成操作后关闭流。
Java IO API还包括许多其他类和方法,如缓冲流(BufferedReader, BufferedWriter),转换流(InputStreamReader, OutputStreamWriter),以及更高级的NIO(New IO)和NIO2,它们提供了更高效和功能更丰富的文件操作方式。理解并熟练掌握这些基本的文件读写操作对于进行更复杂的I/O操作至关重要。
2008-09-09 上传
2015-07-25 上传
2020-08-19 上传
2012-06-07 上传
2020-09-04 上传
311 浏览量
2010-03-15 上传
2020-08-31 上传
点击了解资源详情
weixin_38626179
- 粉丝: 4
- 资源: 959
最新资源
- sql server 2008镜像服务器的搭建
- sql server 2005镜像实现
- WCDMA信令流程,Ericsson内部经典教程
- 考研一级二级分类大全
- C#教程 详尽收集了C#基础知识
- C语言排序,经典的都有
- NBM520_DataSheet
- Qt4 中文版(第一章至第十章).pdf
- eBox300_CE60_JumpStart_Rev4.0_CN
- EFA200-300_DataSheet 资料
- 面向服务的体系架构挑战与机会.pdf
- 最全的CSS浏览器兼容问题
- loadrunner 中文 api
- WSS和MOSS界面开发人员必备-CSS样式汇总
- 高级动画编程_ActionScript 3.0_CN
- 我爱Python 电子书版本