在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码。是因为系统的编码和程序的编码采用了不同的编码格式。
解决方法:
采用java.io.FileInputStream/java.io.InputStreamReader和java.io.FileOutputStream/java.io.OutputStreamWriter来解决这个问题。
实现代码:
//默认情况下,win系统编码是gbk/gbk2312,读取和写入时加入编码字符集可以解决乱码
public class ReadAndWrite {
private static void test(){
File firstFile = new File("D://fileone.txt");
File secondFile=new File("D://filesecond.txt");
BufferedReader in = null;
BufferedWriter out = null;
try {
//加入编码字符集
in = new BufferedReader(new InputStreamReader(new FileInputStream(firstFile), "gbk"));
//加入编码字符集
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(secondFile), "gbk"));
String line = "";
while((line = in.readLine())!=null){
System.out.println(line);
out.write(line+"\r\n");
}
} catch (FileNotFoundException e) {
System.out.println("file is not fond");
} catch (IOException e) {
System.out.println("Read or write Exceptioned");
}finally{
if(null!=in){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}}
if(null!=out){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
以上就是java文件写入乱码怎么办的详细内容,更多请关注亿速云其它相关文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。