JAVA 文件读写操作
JAVA 文件读写操作 在 JDK 1.0 中,通常是用 InputStream & OutputStream 这两个基类来进行读写操作的。 InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作 ### JAVA 文件读写操作 #### 一、使用 InputStream 和 OutputStream 进行文件读写 在 Java 开发过程中,文件的读写操作是非常基础且重要的功能之一。从 JDK 1.0 开始,Java 提供了两种主要的方式来处理文件读写:`InputStream` 和 `OutputStream`。这两种方式适用于二进制数据的读取与写入。 - **InputStream** 作为读取数据的基础类,其派生类 `FileInputStream` 被用来读取文件中的数据。 - **OutputStream** 作为写入数据的基础类,其派生类 `FileOutputStream` 用于将数据写入到文件中。 ##### FileInputStream 读取文件示例 ```java // 创建一个文件输入流对象 FileInputStream fstream = new FileInputStream(args[0]); // 创建一个数据输入流对象 DataInputStream in = new DataInputStream(fstream); String str; // 逐行读取文件内容 while ((str = in.readLine()) != null) { System.out.println(str); } // 关闭输入流 in.close(); ``` 在这个例子中,我们首先创建了一个 `FileInputStream` 对象 `fstream` 来打开指定文件。接着使用 `DataInputStream` 来更方便地读取文件中的文本数据。通过循环调用 `readLine()` 方法来读取每一行内容,并打印出来。最后记得关闭输入流以释放资源。 ##### FileOutputStream 写入文件示例 ```java // 创建一个文件输出流对象 FileOutputStream out = new FileOutputStream("myfile.txt"); // 创建一个打印流对象 PrintStream p = new PrintStream(out); String str; // 写入字符串到文件 p.println("Hello World!"); // 关闭输出流 p.close(); ``` 在这个例子中,我们创建了一个 `FileOutputStream` 对象 `out` 并将其传递给 `PrintStream` 对象 `p`。这样就可以像往控制台输出一样向文件中写入数据。使用 `println` 方法来写入一行字符串,最后关闭输出流以确保所有数据都被正确保存到文件中。 #### 二、使用 Reader 和 Writer 进行文件读写 从 JDK 1.1 开始,Java 引入了新的字符流 API,即 `Reader` 和 `Writer`,它们是专门用于处理文本数据的。相比于 `InputStream` 和 `OutputStream`,这些类提供了更加高效且易于使用的接口。 - **Reader** 作为字符输入流的基础类,其派生类 `FileReader` 用于读取文件中的字符数据。 - **Writer** 作为字符输出流的基础类,其派生类 `FileWriter` 用于将字符数据写入到文件中。 ##### FileReader 读取文件示例 ```java // 创建一个文件读取器对象 FileReader fr = new FileReader("mydata.txt"); // 创建一个缓冲读取器对象 BufferedReader br = new BufferedReader(fr); String line; // 逐行读取文件内容 while ((line = br.readLine()) != null) { System.out.println(line); } // 关闭读取器 br.close(); fr.close(); ``` 在这个例子中,我们使用 `FileReader` 来打开文件,并使用 `BufferedReader` 来提高读取效率。通过循环调用 `readLine()` 方法来读取每一行内容,并打印出来。最后关闭读取器以释放资源。 ##### FileWriter 写入文件示例 ```java // 创建一个文件写入器对象 FileWriter fw = new FileWriter("mydata.txt"); // 创建一个打印写入器对象 PrintWriter out = new PrintWriter(fw); // 写入字符串到文件 out.println("Hello World!"); // 关闭写入器 out.close(); fw.close(); ``` 在这个例子中,我们创建了一个 `FileWriter` 对象 `fw` 并将其传递给 `PrintWriter` 对象 `out`。使用 `println` 方法来写入一行字符串,最后关闭写入器以确保所有数据都被正确保存到文件中。 #### 三、总结 通过以上的介绍和示例代码,我们可以看到 Java 在文件读写方面提供了多种选择。对于二进制数据的操作,推荐使用 `InputStream` 和 `OutputStream`;而对于文本数据的操作,则建议使用 `Reader` 和 `Writer`。选择合适的 API 可以让代码更加简洁高效。此外,在实际开发中还需要注意异常处理以及资源释放等问题,以避免潜在的程序错误或资源泄漏。
- ohwasai2012-08-27有些坑爹,1.4k的文档,2分,还算有用处吧。
- 大伟LAW2012-12-24呵呵。代码有点太老了。
- 粉丝: 12
- 资源: 19
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip