如何檢查文件是否存在並打開它?java如何檢查文件是否存在並打開它?
if(file is found)
{
FileInputStream file = new FileInputStream("file");
}
如何檢查文件是否存在並打開它?java如何檢查文件是否存在並打開它?
if(file is found)
{
FileInputStream file = new FileInputStream("file");
}
File.isFile
會告訴你一個文件存在,而不是一個目錄。
請注意,該文件可能會在您的支票和您嘗試打開它之間刪除,並且該方法不會檢查當前用戶是否具有讀取權限。
File f = new File("file");
if (f.isFile() && f.canRead()) {
try {
// Open the stream.
FileInputStream in = new FileInputStream(f);
// To read chars from it, use new InputStreamReader
// and specify the encoding.
try {
// Do something with in.
} finally {
in.close();
}
} catch (IOException ex) {
// Appropriate error handling here.
}
}
關閉流的方式不正確。 in.close()應該在第一次嘗試的最後。我給你一個減號提醒。 – 2014-10-16 07:08:54
@Charles Wu,在處理任何異常之前,通過關閉'in'不會丟失任何東西。另外,因爲'FileInputStream'構造函數拋出'IOException'處理函數,'in'變量不能在'IOException'處理函數之外初始化,所以如果我把'finally'移到外面,我必須做一些愚蠢的竅門,比如初始化'in'在null中檢查並且在'finally'中檢查這隻會使事情複雜化,即使我真的想忍受這種不必要的複雜性,無論如何我需要一個'try',因爲'in.close()'可以拋出'IOException'。 – 2014-10-16 12:02:11
我的道歉誤解你的代碼。在內部try語句中使用FileInputStream的實例可以關閉in。但是'in.close()'的傳播異常可能會在另一個'in'方法拋出異常時覆蓋異常。 – 2014-12-04 02:10:34
您可以找到documentation的exists
方法:
File file = new File(yourPath);
if(file.exists())
FileInputStream file = new FileInputStream(file);
該死的有人生我的氣。 。 – talnicolas 2015-08-20 20:40:34
您需要首先創建一個文件對象,然後用它的存在()方法來檢查。該文件對象然後可以傳遞到FileInputStream構造函數中。
File file = new File("file");
if (file.exists()) {
FileInputStream fileInputStream = new FileInputStream(file);
}
謝謝,很好的回答。 – user93200 2012-04-03 02:34:51
使用File#exists。
可能重複的[如何檢查文件是否存在? (在Windows上的Java)](http://stackoverflow.com/questions/1816673/how-do-i-check-if-a-file-exists-java-on-windows) – anubhava 2012-03-27 18:02:05