[英]Can not create file in specific directory in Java (The system cannot find the path specified)
[英]System cannot define the specific file in java
我正在嘗試從Java硬盤中讀取文件。 但是,當我嘗試執行以下操作時: BufferedReader inputReader = new BufferedReader(new FileReader("weather.txt"));
並且我收到以下消息:
線程“主”中的異常java.io.FileNotFoundException:C:\\ weather.txt(系統無法定義特定文件),位於java.io.FileInputStream.open0(本機方法),位於java.io.FileInputStream.open(FileInputStream.java) :195)在java.io.FileInputStream。(FileInputStream.java:138)在java.io.FileInputStream。(FileInputStream.java:93)在java.io.FileReader。(FileReader.java:58)
我試圖多次更改文件的位置。 但是我遇到了同樣的錯誤。 該文件的位置是C:\\weather.txt
。 我在這里想念的是什么?
編輯:根據建議的答案,我嘗試執行以下操作:
File targetFile = new File("C:\\", "weather.txt");
FileReader fr = new FileReader(targetFile);//BufferedReader datafile = readDataFile("C://weather.txt");
BufferedReader br = new BufferedReader(fr);
看來我不能在所有bufferedReader上使用。 這是怎么回事
嘗試使用此:
File targetFile = new File(targetPath, filename);
或者,您可以在其他位置創建文件夾C:\\\\folder\\\\weather.txt
。
您所聲明的錯誤完全取決於java.io.FileNotFoundException
異常。 發生此異常是由於嘗試打開給定路徑中不存在的文件。 當您嘗試從文件名中獲取BufferedReader
時,最好在打開文件之前檢查文件是否存在。
可能的補救措施
public static BufferedReader getFileBufferedReader(String fileName) throws FileNotFoundException, IOException{
File file = new File(fileName);
if (!file.exists()) {
OutputStream out = new FileOutputStream(file);
out.close();
}
FileReader fr = new FileReader(file);
return new BufferedReader(fr);
}
理念
首先使用file.exists()
方法確認給定的fileName
是否存在,然后如果file不存在,請使用fileName
指定的名稱創建一個文件。 一旦存在現有文件,您的方法將起作用,並且您可以從fileName
返回BufferedReader
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.