当前位置: 代码迷 >> J2EE >> 输入的是1234,结果为啥是锘?234
  详细解决方案

输入的是1234,结果为啥是锘?234

热度:23   发布时间:2016-04-22 00:35:43.0
输入的是1234,结果为何是锘?234?
import java.io.*; //将一段文字加密后存到文件中,然后将加密后文件输出
public class JiaMi {
public static void main(String args[])
{
try{
FileReader r1=new FileReader("c:\\in.txt");//需要加密的文件内容
FileWriter r2=new FileWriter("c:\\out.txt");//写出文件,加密后的存储位置
int i;
while((i=r1.read())!=-1)
r2.write(i+3); 
r1.close();
r2.close();
//检查加密后的文件解密是否正确
r1=new FileReader("c:\\out.txt");
while((i=r1.read())!=-1)
System.out.print((char)(i-3));
r1.close();

}
catch(Exception e){
e.printStackTrace();
}
}



}


------解决方案--------------------
可能原因是楼主的in.txt是utf-8格式的。保存成ansi就正常了。(前面有3个标志字节 ef bb bf)