日期:2014-05-19  浏览次数:20639 次

输入的是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)