Java 读写文件是一项很常见的操作,下面将介绍几种 Java 读写文件的方式,包括使用 InputStream 和 OutputStream,使用 FileReader 和 FileWriter,以及使用 java.nio 包中的一些类。
1. 使用 InputStream 和 OutputStream
InputStream 和 OutputStream 是 Java 标准库提供的基本流,通过操作这些流可以实现读写文件的功能。
下面是使用 InputStream 和 OutputStream 进行文件读写的示例代码:
```java
import java.io.*;
public class FileReadWriteUsingStream {
public static void main(String[] args) {
try {
// 读取文件
FileInputStream inputStream = new FileInputStream("input.txt");
// 输出文件
FileOutputStream outputStream = new FileOutputStream("output.txt");
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, length);
}
inputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,使用 InputStream 读取名为 "input.txt" 的文件,然后将其写入名为 "output.txt" 的文件中,同时将读取的内容存储在字节数组中,再通过 OutputStream 将其写入 "output.txt" 中。最后关闭 InputStream 和 OutputStream。
2. 使用 FileReader 和 FileWriter
FileReader 和 FileWriter 是 Java 标准库中用于读取和写入字符文本文件的流,这两种流适用于读写文本文件。
下面是使用 FileReader 和 FileWriter 进行文件读写的示例代码:
```java
import java.io.*;
public class FileReadWriteUsingCharStream {
public static void main(String[] args) {
try {
// 读取文件
FileReader reader = new FileReader("input.txt");
// 输出文件
FileWriter writer = new FileWriter("output.txt");
char[] buffer = new char[1024];
int length;
while ((length = reader.read(buffer)) != -1) {
writer.write(buffer, 0, length);
}
reader.close();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,使用 FileReader 读取名为 "input.txt" 的文件,然后将其写入名为 "output.txt" 的文件中,同时将读取的内容存储在字符数组中,再通过 FileWriter 将其写入 "output.txt" 中。最后关闭 FileReader 和 FileWriter。
3. 使用 java.nio 包中的一些类
Java NIO(New IO)是 Java 1.4 版本引入的一组新的 I/O API,它提供了比标准的 java.io API 更加高效和灵活的 I/O 操作方式。在 Java NIO 中,我们可以使用 Channel 和 Buffer 来进行文件读写操作。
下面是使用 Channel 和 Buffer 进行文件读写的示例代码:
```java
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
public class FileReadWriteUsingNIO {
public static void main(String[] args) {
try {
// 读取文件
FileInputStream inStream = new FileInputStream("input.txt");
FileChannel inChannel = inStream.getChannel();
// 输出文件
FileOutputStream outStream = new FileOutputStream("output.txt");
FileChannel outChannel = outStream.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(1024);
while (inChannel.read(buffer) != -1) {
buffer.flip();
outChannel.write(buffer);
buffer.clear();
}
inStream.close();
inChannel.close();
outStream.close();
outChannel.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,使用 java.nio 包中的 FileChannel 类读取名为 "input.txt" 的文件,然后将其写入名为 "output.txt" 的文件中,同时使用 ByteBuffer 存储读取的内容。最后关闭文件的读写通道和输入输出流。
总结:
以上介绍了三种 Java 读写文件的方式,分别是使用 InputStream 和 OutputStream 进行文件读写,使用 FileReader 和 FileWriter 进行文件读写,以及使用 java.nio 包中的一些类进行文件读写。其中,java.nio 提供了更加高效和灵活的文件读写方式,但也需要更多的代码量和技术细节。因此,读者可以根据自己的需求来选择适当的方式进行文件读写操作。
壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。
我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!
发表评论 取消回复