Java读写文件的几种方式

Java中读写文件的几种方式有以下几种:

1. 字节流(FileInputStream, FileOutputStream):通过字节流可以读取和写入文件中的二进制数据。"FileInputStream"用于读取文件,"FileOutputStream"用于写入文件。具体的代码示例如下:

```java

// 读取文件

try (FileInputStream fis = new FileInputStream("input.txt")) {

int data;

while ((data = fis.read()) != -1) {

System.out.print((char) data);

}

} catch (IOException e) {

e.printStackTrace();

}

// 写入文件

try (FileOutputStream fos = new FileOutputStream("output.txt")) {

String text = "Hello, World!";

fos.write(text.getBytes());

} catch (IOException e) {

e.printStackTrace();

}

```

2. 字符流(FileReader, FileWriter):通过字符流可以读取和写入文件中的文本数据。"FileReader"用于读取文件,"FileWriter"用于写入文件。具体的代码示例如下:

```java

// 读取文件

try (FileReader fr = new FileReader("input.txt")) {

int data;

while ((data = fr.read()) != -1) {

System.out.print((char) data);

}

} catch (IOException e) {

e.printStackTrace();

}

// 写入文件

try (FileWriter fw = new FileWriter("output.txt")) {

String text = "Hello, World!";

fw.write(text);

} catch (IOException e) {

e.printStackTrace();

}

```

3. 缓冲流(BufferedReader, BufferedWriter):缓冲流可以提高读写文件的效率。"BufferedReader"用于读取文件,"BufferedWriter"用于写入文件。具体的代码示例如下:

```java

// 读取文件

try (BufferedReader br = new BufferedReader(new FileReader("input.txt"))) {

String line;

while ((line = br.readLine()) != null) {

System.out.println(line);

}

} catch (IOException e) {

e.printStackTrace();

}

// 写入文件

try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {

String text = "Hello, World!";

bw.write(text);

} catch (IOException e) {

e.printStackTrace();

}

```

4. NIO(Non-blocking IO):NIO是Java提供的非阻塞IO,可以使用通道(Channel)和缓冲(Buffer)来读写文件。具体的代码示例如下:

```java

// 读取文件

try (FileChannel channel = new FileInputStream("input.txt").getChannel()) {

ByteBuffer buffer = ByteBuffer.allocate(1024);

int bytesRead = channel.read(buffer);

while (bytesRead != -1) {

buffer.flip();

while (buffer.hasRemaining()) {

System.out.print((char) buffer.get());

}

buffer.clear();

bytesRead = channel.read(buffer);

}

} catch (IOException e) {

e.printStackTrace();

}

// 写入文件

try (FileChannel channel = new FileOutputStream("output.txt").getChannel()) {

String text = "Hello, World!";

ByteBuffer buffer = ByteBuffer.wrap(text.getBytes());

channel.write(buffer);

} catch (IOException e) {

e.printStackTrace();

}

```

以上是Java中读写文件的几种常用方式,根据具体的需求和场景选择适合的方式。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/

点赞(19) 打赏

评论列表 共有 0 条评论

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