【问题标题】:Is there a way to write an empty file but still not create it? [duplicate]有没有办法写一个空文件但仍然不创建它? [复制]
【发布时间】:2019-10-09 23:47:38
【问题描述】:

我使用 new File() 在内存中创建一个文件,然后我想在其上写入但不在磁盘中创建文件。

            File file = new File("hello.txt");
            BufferedWriter writer = new BufferedWriter(new FileWriter(file));
            writer.write("This is the text of my file");
            writer.close();

我希望它不在磁盘上创建文件。

【问题讨论】:

  • File() 不会创建文件,但 FileWriter 会。

标签: java file


【解决方案1】:

File 是一个文件位置,所以它不创建文件,它指向一个。

但是,当您创建一个文件写入器并向其写入一些内容时(例如在本例中使用包装类缓冲写入器)

然后您将创建一个文件,尤其是在您关闭缓冲写入器的情况下,这会提示它将其缓冲区刷新到文件写入器。那个文件编写器就是你的文件,因为它需要将一些数据写入名为“hello.txt”的文件中

在您的 tomcatfolder(bin) 中的放置是因为这是您当前的 java 应用程序目录。(启动您的 jvm,并且不更改 catalina.bat 或 .sh 这也是您的工作目录)

相当于你会在控制台中触摸一个文件,你的工作目录是文件指向的位置,除非你指定完整的路径名,否则工作目录将用于放置你的文件。

如果您想在内存中存储“文件”数据,请查看https://stackoverflow.com/a/17595282/11515649

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 2021-06-22
    • 2015-12-03
    • 2019-02-11
    • 1970-01-01
    相关资源
    最近更新 更多