2017-03-13 3 views
0

Mon fichier texte, mombirthday.txt, se trouve dans le même répertoire Eclipse que mon fichier src.Exception java FileUtils.readFileToByteArray lors de la tentative de lecture de FileToByteArray

Mais une exception est levée (le fichier n'existe pas).

J'ai essayé d'utiliser un chemin qualifié vers le fichier avec une autre exception levée.

Je l'ai trouvé d'innombrables exemples, mais je ne suis pas certain où le fichier doit se trouver et comment je bien référencer le chemin du fichier

Mon projet est appelé ReadFile, le fichier de code source et le texte sont tous les deux en le répertoire 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()); 
    } 
} 
} 
+1

« /ReadFile/src/mombirthday.txt » vous êtes référençant un chemin absolu ici./est un répertoire racine – vhula

Répondre

0

Le chemin que vous attribuez à cet appel de bibliothèque ne connaît pas ou ne se soucie pas de la configuration de votre projet. Donc, ce que vous avez en ce moment pointe vers la racine de votre système de fichiers. Pour commencer, vous pouvez changer pour un chemin absolu.

0

Il est beaucoup mieux de ne pas utiliser un chemin absolu, mais de placer un fichier sur le chemin de classe et le localiser avec chargeur de classe:

InputStream fileIS = getClass().getClassLoader().getResourceAsStream("mombirthday.txt"); 
StringWriter writer = new StringWriter(); 
IOUtils.copy(fileIS, writer, encoding); 
String text = writer.toString(); 
0
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()); 
    } 
}