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"));