我有下面的代碼。在java中的文件處理
以下源代碼來自文件x.java。 hi.html與x.java存在於同一個目錄中。
即使該文件存在,我也會收到文件未找到異常。我錯過了什麼嗎?
public void sendStaticResource() throws IOException{
byte[] bytes = new byte[1024];
FileInputStream fis = null;
try{
File file = new File("hi.html");
boolean p = file.exists();
int i = fis.available();
fis = new FileInputStream(file);
int ch = fis.read(bytes, 0, 1024);
while(ch!=-1){
output.write(bytes, 0, ch);
ch = fis.read(bytes, 0, 1024);
}
}catch(Exception e){
String errorMessage = "file not found";
output.write(errorMessage.getBytes());
}finally {
if(fis != null){
fis.close();
}
}
}
添加e.printStackTrace()到您的程序,並在這裏 – emeraldjava 2011-06-07 17:44:41
發佈細節一件事,你正趕上* *所有異常和寫作「找不到文件」作爲輸出,儘管很可能你正在捕捉一個不同的異常。嘗試打印出您的catch循環中的堆棧跟蹤。 – Kyle 2011-06-07 17:45:16
什麼是真正的異常消息? e.getmesssagetext()?它真的是一個沒有發現異常的文件,還是隻是爲您的字符串文本重現另一個異常類型? – Omnaest 2011-06-07 17:46:32