我已經在上面寫一個文件讀我剛寫使用如何從使用Java
FileWriter fWrite=new FileWriter("C:/folder/DP.txt");
BufferedWriter output = new BufferedWriter(fWrite);
int lastItem = splitItems(capacity); //** calling the function that returns the last item in the file
output.close();
然後我關閉該文件,並確信該數據已寫在上面的文件。在另一個函數中,我需要讀取我剛寫的數據。我寫了下面的代碼:
public static int splitItems(int capacity) throws IOException //read items from the file
{
BufferedReader br = new BufferedReader(new FileReader("C:/folder/DP.txt"));
//read the last line from file
String tmp, strLine = null;
while ((tmp = br.readLine()) != null)
{
strLine = tmp;
} //end while
String lastLine = strLine; //save the last line
String[] split = lastLine.split("\\s+"); /** split based on spaces
int lastItem=Integer.parseInt(split[capacity]); //save the int in the file
br.close(); //closing the file
return lastItem; //return the last number
}//end split items
然後,在運行時,我得到了以下錯誤:
java.lang.NullPointerException
當我檢查文件,我覺得很空。問題是什麼。爲什麼BufferedReader
刪除文件內容?
編輯:我添加了更詳細的代碼。我無法發佈一切。這是相當長的代碼。主要想法是:一切都很好。正確寫入文件的數據。當我添加一個需要從文件中讀取的新函數時,我得到了錯誤。在上面的代碼中,我在編譯器給出錯誤的行中添加了**註釋。
請編輯您的問題並粘貼*完整*錯誤消息。您已經遺漏了我們需要幫助您的信息。 –
哪一行會得到NullPointerException?您確定該文件在閱讀之前是否有數據? (你是否從操作系統打開文件夾來查看它的內容) – Nivas
它適用於我...請添加[sscce](http://sscce.org) - 可用於重現問題的代碼。 – Pshemo