使用Java将日期时间和名称写入文件

时间:2016-10-02 10:03:40

标签: java arraylist

我希望将姓名和日期和时间一起写入此i的文件中  使用arraylist.But当我把它写到文件上...一个单一的名字  日期出现两次;这与我的暗示有关  StandardOpenOption.Append因为当我不这样做时它会打印日期和值  曾经但是会覆盖我之前的价值观。] [1]

//created method to write date and name onto file

public void standardRoom() 
{
    try {
        Path p=Paths.get("test/standardRoom.text");

        if(Files.notExists(p))
        {
            Files.createFile(p);
        }
        System.out.println("Enter Name");
        String name=sc.next();

        List<String>stdrooms=new ArrayList<>();

        date = d.toString();

        stdrooms.add(date); 
        stdrooms.add(name);

        System.out.println("Standard Room booked");

        Iterator<String>bookings=stdrooms.iterator();
        while(bookings.hasNext())
        {              
            String s=bookings.next();
            //Files.write(p, stdrooms);
            Files.write(p, stdrooms,StandardOpenOption.APPEND);
        }
    } catch (IOException e) {
    }          


}
}

1 个答案:

答案 0 :(得分:0)

datename添加到列表后,stdrooms包含两个元素。

迭代器bookings现在具有列表的大小。因此Files.write执行两次:

    Files.write(p, stdrooms,StandardOpenOption.APPEND);

打印包含stdroomsdate的{​​{1}}时,会使用默认的name实现,然后打印整个列表。

一种解决方案可能是使用toString进行打印而不是s

stdrooms