簡體   English   中英

嘗試讀取FileToByteArray時發生異常java FileUtils.readFileToByteArray

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM