将两个数组写入文本文件

时间:2014-10-10 07:13:23

标签: java arrays

必须将两个最终数组写入.txt文件,以便获得一个数组中的第一个对象,并且第二个数组中的第一个对象一个接一个地写入。尝试写入文本文件会让我感到困惑,但不得不一个接一个地编写两个数组......

因此,如果阵列1具有" A,B,C"第二个有" 1,2,3",最终输出为
- A 1
- B 2
- C 3

我觉得它与制作File和System.out命令有关,但我不知道该怎么做......

3 个答案:

答案 0 :(得分:1)

简单。

第一个问题,你如何将它打印到STDOUT?

assert (one.length == two.length);
for (int i = 0; i < one.length; ++i) {
    System.out.println(one[i] + " " + two[i]);
}

所以,现在您需要做的就是将其放入文件中。 System.out只是PrintWriter,因此我们需要其中一个指向文件:

final Path path = Paths.get("path", "to", "file");
try (final PrintWriter writer = new PrintWriter(Files.newBufferedWriter(path, StandardOpenOption.CREATE_NEW))) {
    for (int i = 0; i < one.length; ++i) {
        writer.println(one[i] + " " + two[i]);
    }
}

答案 1 :(得分:0)

您可以使用PrintWriter创建并写入该文件。假设两个数组的大小相同,您可以迭代数组的元素并使用[.print(String s)][2]方法打印到文件。

最后,完成后不要忘记close流。

答案 2 :(得分:0)

将两个Array写入文件或控制台时对其进行Marge。

喜欢 -

String[] array1 ={"A","B","C"};
String[] array2 ={"1","2","3"};

try(PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8")){

    for(int i=0;i<array1.length;i++){
        // add condition if both array are not same in size
        String temp = array1[i]+" "+array2[i]; 
        System.out.println(temp); // console
        writer.println(temp);  // file
    }
    writer.flush();
}