gpt4 book ai didi

java - 当我可以使用后者创建文件时,为什么我应该创建 File 对象,然后在 FileWriter 或 PrintWriter 中使用它?

转载 作者:行者123 更新时间:2023-12-01 20:20:26 26 4
gpt4 key购买 nike

为什么:

File file = new File("somefile.txt");
PrintWriter printWriter = new PrintWriter(file);

当我们可以直接:

PrintWriter printWriter = new PrintWriter("somefile.txt");

我理解这个概念并理解 File() 构造函数创建文件的抽象,但是将其归结为实际问题,为什么要创建 File 对象然后将其传递给 FileWriter? (或任何其他编写器构造函数)

目的是什么?

最佳答案

在您的示例中,两个版本执行相同的操作。唯一真正的区别是代码的可读性。 (您可以决定哪个版本更具可读性。)

另一方面,如果您需要对文件路径名执行操作,最好使用 FilePath 来执行此操作,而不是尝试执行使用字符串bash同样的事情。示例包括获取父目录路径、形成子目录路径、添加或删除文件名后缀。通过使用 FilePath,您通常可以避免复杂情况,例如路径名语法中特定于平台的差异。

此外,FilePath(以及相关类)允许您对文件/目录本身执行其他操作。例如,重命名/移动、删除或测试和更改权限。

简而言之,在其他情况下,可能有充分的理由更喜欢使用文件等。但在你的例子中,它没有真正的区别。

关于java - 当我可以使用后者创建文件时,为什么我应该创建 File 对象,然后在 FileWriter 或 PrintWriter 中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44855525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com