我想将数据从数组发送到txt文件

时间:2017-06-12 15:11:02

标签: java netbeans

String[][] EmployeeArray = new String [1000][25];

这是我的数组,它已经包含了我需要的所有信息,但我想将此处的所有数据发送到名为 EmployeeFile 的文本文件中。我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以对其进行序列化,甚至可以更好地进行一些json装饰/格式化,然后将其写入文件...

jusing json可以简单到:

String[][] x = { { "0-0", "0-1", "0-2" }, { "1-0", "1-1", "1-2" }, { "2-0", "2-1, "2-2" } };
try (Writer writer = new FileWriter("my2DArray.json")) {
     Gson gson = new GsonBuilder().create();
     gson.toJson(x, writer);
}

答案 1 :(得分:0)

首先,您需要遍历数组并创建一个包含要写入文件的数据的字符串。这样做是为了您可以在想要的位置添加新的行字符。

String fileContents = new String();

for(int i=0; i<1000; i++) {
  for(int j=0; j<25; j++) {
    fileContents += EmployeeArray[i][j]
  }
  fileContents += "\n";
}

上面的代码是非常基本的,它是展示基本思想的基础。 使用StringBuilder会更有效,我想有100种方法可以进一步改进这些行。

然后您可以使用以下方法写入文件:

public boolean writeFile(String data, String path) {
    try {
        byte[] encoded = data.getBytes(StandardCharsets.UTF_8);
        java.nio.file.Files.write(Paths.get(path), 
            encoded, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
        return true;
} catch(IOException e) {
    e.printStackTrace();
}

    return false;
}

您应该小心选项 StandardOpenOption.CREATE StandardOpenOption.TRUNCATE_EXISTING 。它们将覆盖现有文件。 有时你需要附加到文件,相应地调整。

可以找到StandardOpenOption文档here StandardOperation.APPEND 可用于记录日志。

另请注意,使用的字符集是 UTF8 。如果它满足您的需求,通常使用UTF8是个好主意。如果您的数据中出现奇怪的字符,则可能需要相应调整。