我试图在*.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));

09-11 18:00