【问题标题】:Is using the File class in Java how you create a file?在 Java 中使用 File 类是如何创建文件的?
【发布时间】:2017-09-29 12:04:00
【问题描述】:

我需要一些有关概念的认真帮助。我已经获得了课程的背景背景,特别是:

我只需要了解这门课的目的吗?我可以使用其构造函数创建一个文本文件(或任何其他类型的文件)吗?这只是为了处理文件吗,如果是,那是什么意思?

任何帮助将不胜感激!

谢谢

【问题讨论】:

  • 你看过它的文档了吗?您是否检查过任何信息来源(书籍、谷歌、官方文档)?
  • 否:File 更像是路径的表示,例如 /foo/bar/something.txt。这可能存在也可能不存在(您可以使用File.exists() 方法检查。您可以使用FileOutputStreamFileWriter 之类的东西创建文件,它们的构造函数将File 作为参数,并且将写入表示路径的文件(如果可以的话)。
  • 请注意 File 在很大程度上被 Path 类所取代。

标签: java file io file-handling


【解决方案1】:

您可以使用java.io.File 在文件系统上创建文件:

File myFile = new File("myFile.txt");
myFile.createNewFile();

请注意,调用构造函数不会在文件系统上创建文件。要创建一个空文件,必须调用createNewFile() 方法。

File 仅表示文件位置的抽象,而不是文件本身。它带有对路径标识的文件的操作:exists()delete()length()等。

您可能想要的是使用允许您将内容写入文件的类:

  • 如果你要写文字,你应该使用Writer接口。
  • 如果你要写二进制内容,你应该使用OutputStream接口。

FileWriterFileOutputStream 类分别将 FileWriter/OutputStream 概念链接在一起。这些类为您在文件系统上创建文件。

    FileWriter myFileWriter = null;
    File myFile = new File("myFile.txt");
    try {
        // file is created on the file-system here
        myFileWriter = new FileWriter(myFile);

        myFileWriter.write("hello");
    } finally {
        if (myFileWriter != null) {
            myFileWriter.close();
        }
    }

【讨论】:

    【解决方案2】:

    您可以使用File.createNewFile 方法创建文件,或者,如果您使用的是Java 7 或更高版本,则可以使用更新的Files.createFile 方法。

    旧的 File 和新的 Path 类之间的区别在于,前者混合了对 filsystem 上文件路径的引用和您可以对其执行的操作,后者仅表示路径本身但允许您对其进行查询并分析其结构。

    【讨论】:

      猜你喜欢
      • 2016-12-25
      • 2016-01-21
      • 2022-01-22
      • 2016-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多