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/
发表评论 取消回复