从没有指定路径的可运行jar中读取和写入文件

时间:2017-05-26 04:31:45

标签: java jar

如果我正在运行一个可运行的jar并且有代码:

File txtfile = new File("sampleText.txt");

文件会被创建吗?如果是这样,sampleText.txt会在哪里创建?在Eclipse中,这将在工作目录中创建。我已经读过在jar中写入是不可能的,如果是这样的话,这个文件会发生什么? JAVA会在其他地方创建此文件吗?

另外,如果它已创建,我能阅读吗?

2 个答案:

答案 0 :(得分:1)

此实例中的工作目录将是jar所在的目录。所以,是的,文件将被创建,是的,您将能够阅读它。

答案 1 :(得分:0)

根据您创建新文件的代码行。

File txtfile = new File("sampleText.txt");

您还没有指定locstion,这意味着此代码运行的位置是sampleText.txt创建的位置。

创建jar文件后。 jar意味着你压缩所有的代码。创建sampleText.txt的代码也在那里。因此,如果您在其他地方创建了jar,那就是您创建文件的位置。

注意:除非您指定了位置,例如:

File file = new File("C:\\somefile\\sampleText.txt");

如果您指定这样的位置,无论您的罐子在哪里,您的文件都应该是该位置。