java randomaccessfile以UTF-8写入文件,怎么用readline()读出来
时间: 2023-11-28 16:50:30 浏览: 73
`RandomAccessFile` 类不支持 `readline()` 方法,它只能读写字节流。如果你需要读取以 UTF-8 编码的文本文件,可以使用 `BufferedReader` 类的 `readLine()` 方法来实现。
下面是一个示例代码:
```java
import java.io.*;
public class ReadWriteFile {
public static void main(String[] args) {
String fileName = "test.txt";
String content = "你好,世界!\nHello, World!";
try {
// 写入文件
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
byte[] bytes = content.getBytes("UTF-8");
raf.write(bytes);
raf.close();
// 读取文件
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), "UTF-8"));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们使用 `RandomAccessFile` 类将字符串 `content` 写入到名为 `test.txt` 的文件中,然后使用 `BufferedReader` 类读取文件内容并打印到控制台上。注意,在读取文件时,我们使用 `InputStreamReader` 类指定了文件的编码格式为 UTF-8,以便能够正确地读取中文字符。
阅读全文