【发布时间】:2014-07-28 21:12:43
【问题描述】:
我想知道 Java 的 FileInputStreams(以及 FileOutputStreams)的属性。创建它们时,您可以使用以下任一构造函数:
public FileInputStream(String name) throws FileNotFoundException
public FileInputStream(File file) throws FileNotFoundException
我经常看到(并编写)这样的代码:
InputStream in = new FileInputStream(new File("data.txt"));
你可以看到我在那里创建了一个File。没有它我也可以做到:
InputStream in = new FileInputStream("data.txt");
根据 JDK 源代码,它们的工作方式似乎几乎没有区别。以下是采用String 的构造函数的来源:
public FileInputStream(String name) throws FileNotFoundException {
this(name != null ? new File(name) : null);
}
对于FileOutputStream,所有这些基本相同。
使用其中任何一个构造函数是我不知道的约定吗?两者都有什么好处吗? FileInputStream 或 FileOutputStream 是不同的情况吗?
【问题讨论】:
-
我认为 FileInputStream(String name) 只是为了方便。
-
@holap 那么使用任何一个都没有真正的好处或区别吗?
-
FileInputStream(File file) 无论如何都会被调用,所以没有没有区别。只需使用哪种情况更方便您的情况。
-
@holap 好的。添加它作为答案,我会接受它。 :D
-
不接受单行回答 :) 还是谢谢你。
标签: java file conventions fileinputstream fileoutputstream