一、問題
在使用FileInputStream時會遇到如下問題1和問題2。
問題1:
-
java.io.FileNotFoundException: .\xxx\xxx.txt (系統找不到指定的路徑。)
問題2:
-
java.io.FileNotFoundException: .\xx\xx.txt (拒絕訪問。)
二、分析
當遇到問題時,的確是當前所指定的文件不存在或者目錄不存在。
當遇到第二個問題時,是因為你訪問了一個文件目錄,而不是文件,因此會拋出問題2的異常。
三、解決辦法
第一個的解決辦法是,先判斷一下當前文件是否存在,如果存在則略過,如果不存在,在創建,具體做法如下
//在填寫文件路徑時,一定要寫上具體的文件名稱(xx.txt),否則會出現拒絕訪問。
File file = new File("./mywork/work.txt");
if(!file.exists()){
//先得到文件的上級目錄,並創建上級目錄,在創建文件
file.getParentFile().mkdir();
try {
//創建文件
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
第二個的解決辦法是,在填寫文件的路徑時一定要具體到文件,如下:
File file = new File("./mywork/work.txt");
而不能寫成:
File file = new File("./mywork/");
因為這樣你訪問的是一個目錄,因此就拒絕訪問。
原文鏈接:https://blog.csdn.net/dahai_888/article/details/53078889?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.baidujs&dist_request_id=1328626.12653.16153814588631931&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.baidujs