<1>读写文件的几种方式

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内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(40) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部