String[][] EmployeeArray = new String [1000][25];
这是我的数组,它已经包含了我需要的所有信息,但我想将此处的所有数据发送到名为 EmployeeFile 的文本文件中。我该怎么做?
答案 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是个好主意。如果您的数据中出现奇怪的字符,则可能需要相应调整。