如果文件名不存在并追加文件,如何写新文件?

问题描述 投票:-1回答:2

我对如何创建文件并附加文件有疑问。

我拥有的是名称文件的String getDate = "2020-04-02"。因此,如果日期不同,我的文件将每天创建,因此我保存文件的格式为

2020-04-02.text,明天我的数据将在2020-04-03中保存。

在输入数据之后

String savefile ="aaaa|bbbb|2020-04-02T08:18:35.146"

我的问题是如何创建文件并附加我的数据以修复保存文件?

我尝试使用

      System.out.println("savelocation: " + paths);
      Files.write(Paths.get(paths), savefile.getBytes(StandardCharsets.UTF_8), 
              StandardOpenOption.CREATE, StandardOpenOption.APPEND);

但是我有这样的错误

java.nio.file.NoSuchFileException: /home/ec2-user/saveFile/EUR/USD|2020-04-02.txt
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
        at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:434)

我期望的代码是:1.检查文件路径是否存在附加数据2.如果文件路径不存在,请创建新文件并写入新数据

问候

Fuad

java file createfile
2个回答
0
投票

您可以使用java.time.LocalDate类创建文件名

import java.io.FileWriter; 
import java.io.IOException;

public class Main
{
    public static void main(String[] args) throws IOException {

        String savefile ="aaaa|bbbb|" + java.time.LocalDateTime.now().toString();

        String fileName = java.time.LocalDate.now().toString(); 

        FileWriter fw = new FileWriter(fileName + ".txt");

        fw.write(savefile);
        fw.close();

    }
}

0
投票

您可以在URL下了解有关问题访问的信息。https://www.w3schools.com/java/java_files_create.asphttps://www.w3schools.com/java/java_files_read.asp

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.Writer;

Writer output;
output = new BufferedWriter(new FileWriter(my_file_name,true));
output.append("New Line!");
output.close();

是从下面的URL。

How to add a new line of text to an existing file in Java?

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.