![](/img/trans.png)
[英]FileUtils.readFileToByteArray vs Files.readAllBytes
[英]Exception java FileUtils.readFileToByteArray when trying to readFileToByteArray
我的文本文件mombirthday.txt與src文件位於同一個eclipse目錄中。
但是會引發異常(文件不存在)。
我嘗試使用文件的合格路徑,但拋出另一個異常。
我找到了無數的示例,但是我不確定文件應位於何處以及如何正確引用文件的路徑
我的項目稱為ReadFile,源代碼和文本文件都在src目錄中
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class ReadFile {
public static void main(String[] args){
try{
//File 'mombirthday.txt' does not exist
//byte[] bytesInput = FileUtils.readFileToByteArray(new File("mombirthday.txt"));
//File 'mombirthday.txt' does not exist
byte[] bytesInput = FileUtils.readFileToByteArray(new File("/ReadFile/src/mombirthday.txt"));**
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}
您提供給該庫調用的路徑不知道或不關心您的項目設置。
因此,您現在擁有的指向文件系統的根。 對於初學者,您可以更改為絕對路徑。
最好不要使用絕對路徑,而要在類路徑上放置文件並使用類加載器定位它:
InputStream fileIS = getClass().getClassLoader().getResourceAsStream("mombirthday.txt");
StringWriter writer = new StringWriter();
IOUtils.copy(fileIS, writer, encoding);
String text = writer.toString();
public static void readFile(){
try {
// byte[] bytesInput = FileUtils.readFileToByteArray(new File("C:/Users/mavensi/Desktop/catalina_14.log"));
byte[] bytesInput = IoUtils.readBytes(new File("C:/Users/mavensi/Desktop/catalina_14.log"));
System.err.println(bytesInput.length);
}catch(IOException e){
System.out.println(e.getMessage());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.