[英]File writing line by line
我正在目录中编写一组文件。 这是我的代码
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"));
我想在新行中写入集合的每个元素。 我怎样才能做到这一点?
这是javadoc关于write
方法的内容:
“将文本行写入文件。每行都是一个char序列,并按顺序写入文件,每行都由平台的行分隔符终止,这是由系统属性line.separator定义的。使用指定的字符集。”
我假设该方法执行了javadoc明确指出的操作。 以下是一些可能的替代解释:
generateLog()
方法连接在一起。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.