打印到文件会产生不需要的文本

时间:2013-06-19 19:45:25

标签: java arrays text pretty-print

我有这样的事情:

private void myPrinter(int[] arr) throws IOException{
    FileWriter outFile = new FileWriter("myFile.txt",true);
    PrintWriter out = new PrintWriter(outFile);
    //BufferedWriter out = new BufferedWriter(outFile);
    //PrintStream out=new PrintStream(outFile);
    for (int i=0;i<arr.length;i++){
        System.out.print(arr[i]+" ");
        out.print(arr[i]+" ");   
    }
    System.out.println();
    // out.newLine();
    out.println();
    //out.flush();
    out.close();
}

当它打印一个包含100个元素的数组时,它很好。 当涉及到打印超过255个元素的数组时,它会产生类似于‱‰‰‱‱਍਍当我添加时     out.print(" "+arr[i]+" ");arr[i]前面的空格很好。但是,我不需要前面的额外空间,我不明白为什么需要它。 在围绕2D数组迭代的for循环中调用此方法。控制台打印得很好,但在txt文件打印如上所示。调用方法的代码如下:

 final int[] anArr=init();
 for (int idz=0;idz< z;idz++ ){
     int[] toBe=new int[anArr.length];
     System.arraycopy( anArr, 0, toBe, 0, anArr.length );
     arr[z]=create(toBe);
     try {
         myPrinter(arr[z]);
     } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
     }

我尝试在打印任何内容之前添加一行,然后才有效。但是,当我稍后从txt文件中手动删除该行并保存时,它会变回乱码文本。我的txt配置或其他什么东西有问题吗?

0 个答案:

没有答案