我试图在*.txt
文件中添加整数值,但它正在打印ASCII值。
我的代码有什么问题?
public static void main(String[] args) throws IOException
{
FileWriter f1 = new FileWriter("C:\\/New folder\\/file1.txt");
Writer bw1=new BufferedWriter(f1);
int j=0;
while(j!=20)
{
j=j+1;
bw1.write(j);
bw1.write(System.getProperty( "line.separator" ));
bw1.flush();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
f1.close();
}
最佳答案
您正在使用the method in the Writer
class that takes an int
as an argument,其中int
的低16位代表Unicode代码点,并且相应的字符被打印到文件中,如下表所示:
一个简单的解决方法是将字符串写入文件:
bw1.write(String.valueOf(j));