Java FileWriter文件位置

时间:2013-05-28 20:55:06

标签: java android filewriter

我对java很新,所以这可能很简单,但我找不到解决方法。

我正在构建一个应用程序,我需要能够将当前日期写入文件。我遇到问题的部分实际上是获取要写入的文件的位置。

读取文件并将每行的所有文本放入arraylist我使用时没有问题:

Scanner in = new Scanner(MainActivity.class.getResourceAsStream("notes.dat"));

但是,在尝试声明文件编写器时,我尝试了两种方法:

FileWriter f = new FileWriter(new File("date.dat"));

FileWriter f = new FileWriter(new File(MainActivity.class.getResourceAsStream("date.dat")));

(它适用于Scanner但在FileWriter上它给我错误:构造函数File(InputStream)未定义):

我也尝试将文件放在各个位置,例如src文件夹和root android项目文件夹,并正确指向它,但它永远不会找到。

无论我怎么做尝试使用filewriter找到文件然后写入它,无法找到该文件。 我创建了一个未链接到应用程序开发项目文件夹的java文件,并尝试将date.dat放在与java文件相同的文件夹中,并且能够使用以下内容而没有任何问题:

FileWriter f = new FileWriter(new File("date.dat"));

我的问题是为什么FileWriter在没有链接到android项目的普通java文件上使用时会起作用,但是当我在项目中使用它时它会停止工作以及如何修复它?

1 个答案:

答案 0 :(得分:0)

当您使用.getResource()和朋友时,JVM将在其类路径中查找匹配的名称。这意味着这可以是jar中的文件。

为了能够读取/写入文件,您不应该使用它。

尝试创建一个您知道其位置的外部目录,并在此目录中工作。