首页 > 解决方案 > 如何在Java中将整数数组写入文件

问题描述

我有一个整数数组:

[56, 6090, 1510, 256, 17]

如何以附加模式将其写入文件?我会有更多的数组,就像写入同一个文件一样。我如何逐行附加它们?

我希望我的最终文件看起来像这样:

A B C D E
56 6090 1510 256 17
60 42 3400 5499 12

我怎样才能让它工作?我如何写标题?

我有这个,但我生成的文件看起来很奇怪。那些字符是什么?

    public static void main(String args[]) throws IOException {
            // input files
            String fileName = "SmallAreaIncomePovertyEstData.txt";
        File f = new File(fileName);

        // output files
        String tempFileName = "tempFile.txt";
        File outputf = new File(tempFileName);

        //writer to the output file
        BufferedWriter outputWriter = new BufferedWriter(new FileWriter(outputf, true));
        BufferedReader br = new BufferedReader(new FileReader(f));

          ...

            for(int i = 0; i < rowDataOnlyIntegers.length; i++) {
                outputWriter.write(rowDataOnlyIntegers[i]);
            }
            outputWriter.newLine();
        }
        br.close();
        outputWriter.close();

标签: java

解决方案


我建议您改用 aPrintWriter写入文件。write您正在调用的方法写入一个编码为整数参数的字符,而不是您所期望的整数的字符串表示形式所以write(32)会写一个空格字符,因为空格在 UTF-16 中被编码为 32。

PrintWriter允许您直接编写字符串。

以下是如何使用PrintWriter.

String tempFileName = "tempFile.txt";
File outputf = new File(tempFileName);

//writer to the output file
PrintWriter outputWriter = new PrintWriter(outputf);

  ...

    for(int i = 0; i < rowDataOnlyIntegers.length; i++) {
        outputWriter.print(rowDataOnlyIntegers[i]);
        outputWriter.print(" ");
    }
    outputWriter.println();

推荐阅读