Java 逐行写入文件
我正在一个目录中写一组文件。这是我的密码Java 逐行写入文件,java,nio,Java,Nio,我正在一个目录中写一组文件。这是我的密码 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 &l
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();
}
}
我想把集合中的每一个元素都写在新行中。我怎样才能做到这一点?下面是关于写入方法的说明:
将文本行写入文件。每行都是字符序列,并按顺序写入文件,每行以平台的行分隔符终止,如系统属性line.separator所定义。字符使用指定的字符集编码为字节
我假设该方法做了javadoc明确说明的事情。以下是一些可能的解释:
- 这些行通过
generateLog()
方法连接起来
- Java对平台行分隔符的概念(在运行代码的机器上)与您用来查看文件的应用程序所期望的不匹配
- 您正在未呈现原始行分隔符的上下文中查看输出;e、 一个HTML文档
我修复了它,日志中写入的对象的toString方法有一个bug。
Files.write(filePath, logs, Charset.forName("US-ASCII"));