我在目录中编写一组文件。这是我的代码,
String directoryName = "logs";
File directory = new File(String.valueOf(directoryName));
if (!directory.exists()) {
directory.mkdir();
}
System.out.println("Simulating logs....");
for (int i = 0; i < 1440; i++) {
long now = System.currentTimeMillis() + TimeUnit.MINUTES.toMillis(1);
String fileName = now + ".txt";
Path filePath = Paths.get(directoryName, fileName);
LogGenerator generator = new LogGenerator(noOfServers);
Set<String> logs = generator.generateLog();
try {
Files.write(filePath, logs, Charset.forName("US-ASCII"));
} catch (IOException e) {
e.printStackTrace();
}
}
问题在于,设置日志的所有元素都在第一个元素之后追加并写在同一行中。这发生在这一行,
Files.write(filePath, logs, Charset.forName("US-ASCII"));
我想在新行中编写集合的每个元素。我怎么能实现这个目标呢?
答案 0 :(得分:4)
以下是javadoc对write
方法的说法:
&#34;将文本行写入文件。每行都是一个char序列,按顺序写入文件,每行由平台的行分隔符终止,由系统属性line.separator定义。使用指定的字符集将字符编码为字节。&#34;
我认为该方法可以完成javadoc明确说明的方法。以下是一些可能的替代解释:
generateLog()
方法连接。