java+指定编码格式读取txt文件
时间: 2024-02-02 21:04:16 浏览: 198
Java中可以使用InputStreamReader和FileInputStream来按指定编码格式读取txt文件。具体实现方法如下:
```java
File file = new File("example.txt"); // 文件路径
String charset = "UTF-8"; // 指定编码格式
StringBuilder sb = new StringBuilder();
try (InputStreamReader isr = new InputStreamReader(new FileInputStream(file), charset);
BufferedReader br = new BufferedReader(isr)) {
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append(System.lineSeparator()); // 按行读取并添加到StringBuilder中
}
} catch (IOException e) {
e.printStackTrace();
}
String content = sb.toString(); // 读取的文件内容
System.out.println(content);
```
上述代码中,我们首先创建了一个File对象,指定了要读取的文件路径。然后使用InputStreamReader和FileInputStream来按指定编码格式读取文件,并使用BufferedReader按行读取文件内容,将每行内容添加到StringBuilder中。最后将StringBuilder转换为字符串并输出。
如果要写入指定编码格式的txt文件,可以使用OutputStreamWriter和FileOutputStream。具体实现方法如下:
```java
File file = new File("example.txt"); // 文件路径
String charset = "GBK"; // 指定编码格式
try (FileOutputStream fos = new FileOutputStream(file, true);
OutputStreamWriter osw = new OutputStreamWriter(fos, charset);
BufferedWriter bw = new BufferedWriter(osw)) {
bw.write("新加的" + charset + "字符,原来的一行是" + charset + "格式");
bw.newLine(); // 换行
} catch (IOException e) {
e.printStackTrace();
}
```
上述代码中,我们首先创建了一个File对象,指定了要写入的文件路径。然后使用OutputStreamWriter和FileOutputStream来按指定编码格式写入文件,并使用BufferedWriter写入文件内容,最后使用newLine()方法换行。
阅读全文