JAVA学习日志:cmd里文件读出中文乱码

JAVA学习日志:cmd里文件读出中文乱码
我碰到一个乱码问题,废话不多说,先上代码:

public class MainClass {
 public static List<String> read(String filename) throws IOException {
  BufferedReader in = new BufferedReader(new FileReader(filename)) ;
  String s ;
  List<String> result = new ArrayList<String>() ;
  while((s = in.readLine()) != null) {
   result.add(s) ;
  }
  in.close() ;
  return result ;
 }
 public static void write(String fromname , String toname) throws IOException {
  BufferedReader in = new BufferedReader(new FileReader(fromname)) ;
  PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(toname))) ;
  String s ;
  while((s = in.readLine()) != null ) {
   out.println(s) ;
  }
  in.close() ;
  out.close() ;
 }
 public static void main(String[] args) throws IOException {
  String from = "from.txt" , to = "to.txt" ;
  write(from , to) ;
  List<String> ls = read(to) ;
  for(ListIterator<String> it = ls.listIterator() ; it.hasNext() ; ) {
   print(it.next()) ;
  }
 }
}

文件
我使用上面的代码中的write方法,把from.txt中的文件复制到to.txt文件中,再利用read方法读出文件to中的内容。然而…
laingg
在这里插入图片描述错误原因:cmd,记事本的中文编码方式不一样:
在cmd输入chcp

C:\Users\26973\Desktop\java\chapter18\MyFirstFileIO>chcp
活动代码页: 936

输入 chcp 65001

C:\Users\26973\Desktop\java\chapter18\MyFirstFileIO>java MainClass
这是?段中文代?
这是?段中文代?
这是?段中文代?
这是?段中文代?
这是?段中文代?
这是?段中文代?
这是?段中文代?
这是?段中文代?
这是?段中文代?
这是?段中文代?

大部分中文修复了,还是有一些乱码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KOKO银角大王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值