2013-05-28 55 views
0

我對java很陌生,所以這可能很簡單,但我找不到解決的辦法。Java FileWriter文件位置

我正在構建一個應用程序,我需要能夠將當前日期寫入文件。我遇到問題的部分實際上是獲取要寫入的文件的位置。

讀取文件,並把所有的文字,每行成一個ArrayList,我不得不使用沒有問題:

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

但是,試圖聲明一個FileWriter我都嘗試時:

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

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

(它適用於掃描儀,但是,它FileWriter的給我的錯誤:釷e構造文件(InputStream)未定義):

我也試過把文件放在不同的位置,如src文件夾和根android項目文件夾,並指向它正確,但它永遠不會找到。

無論我看起來如何嘗試使用文件編寫器找到文件然後寫入文件,該文件永遠無法找到。 我創建沒有鏈接到一個應用程序開發項目文件夾中的Java文件,並試圖把date.dat在同一文件夾中的java文件,並能使用以下沒有問題:

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

我的問題是爲什麼FileWriter在正常的java文件上使用時似乎工作,但沒有鏈接到android項目,但在我的項目中使用時,它停止工作,它如何解決?

回答

0

當您使用.getResource()和朋友時,JVM將在其類路徑中查找匹配的名稱。這意味着這可以是一個jar文件。

爲了能夠讀取/寫入文件,您不應該使用它。

嘗試並創建一個外部目錄,您知道該目錄的位置並在其中工作。