建立文件时,如何指定文件编码?

lashengcrh 2007-11-29 11:43:46
File ftxt = new File("c:\1.txt"); 建立文本文件
BufferedWriter bufout = new BufferedWriter(new FileWriter(ftxt));

FileInputStream fin = new FileInputStream("c:\2.html");

BufferedReader in = new BufferedReader(new InputStreamReader(fin,"utf-8"));

如何指定1.txt文件为“utf-8”编码呢?
...全文
166 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
一般来说使用
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
进行写文件,写入的字符串是什么编码的,写进去就是什么编码。

在读取时
BufferedReader br = new BufferedReader(new FileReader(file));
按照字符进行输出。

上面使用UTF-8写,用UTF-8读这样未尝不可,但是如何字符串是GBK的编码时,
虽然这样写和读都是可能进行操作,读出来也是正常的,但是存放在文件中的内
容则是乱码,因为把GBK打散再拼成了UTF-8的编码。
seaforce 2007-11-29
  • 打赏
  • 举报
回复

/**
* project_name: Test
* package_name: CSDN_Test_20071126
* package_declaration: package CSDN_Test_20071126;
* filename: FileEncodingTest.java
* author: yuhaiming
* date: 2007-11-29
*/
package CSDN_Test_20071126;
import java.io.*;
public class FileEncodingTest {
public static void disposal(){
try{
String filename = "UTF-8test.txt";
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename),"UTF-8"));
writer.write("测试我的UTF-8");
writer.write("fdsafdsa");
writer.close();
}catch(Exception e){
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
disposal();
}

}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧