2016-05-10 11 views
0

Ich versuche, Bilddatei aus dem Dateiverzeichnis zu laden. Dann möchte ich das Dateiobjekt in ein String-Objekt konvertieren. Leider bekomme ich diese Fehlermeldungen immer wieder. Wie kann ich es lösen?Warum weiterhin java.io.FileNotFoundException empfangen: (Zugriff verweigert) Fehler?

java.io.FileNotFoundException: E:\workspace\sesaja\Images (Access is denied) 
at java.io.FileInputStream.open(Native Method) 
at java.io.FileInputStream.<init>(FileInputStream.java:120) 
at java.io.FileInputStream.<init>(FileInputStream.java:79) 
at test.Test1.main(Test1.java:29) 

Thi ist mein Gesamt Code

public class Test1 { 

    public static void main(String args[]){   

    String s = System.getProperty("user.dir") + System.getProperty("file.separator")+ "Images"; 
    File f = new File (s); 

    FileInputStream fis = null; 
    String str = ""; 

    try { 
      fis = new FileInputStream(f); 
      int content; 
      while ((content = fis.read()) != -1) { 
       // convert to char and display it 
       str += (char) content; 
      } 

      System.out.println("After reading file"); 
      System.out.println(str); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } finally { 
      try { 
       if (fis != null) 
        fis.close(); 
      } catch (IOException ex) { 
       ex.printStackTrace(); 
      } 
     }  
    }   

} 
+0

Ist E: \ workspace \ sesaja \ Bilder eine Datei oder ein Verzeichnis? –

+0

@DavideLorenzoMARINO Es ist ein Dateiverzeichnis – Belle

+0

Versuchen Sie, aus einem Verzeichnis zu lesen? Es ist ein Verzeichnis keine Datei –

Antwort

0

Concatenate gewünschten Dateinamen am Ende dieser Zeile:

String s = System.getProperty("user.dir") + 
System.getProperty("file.separator")+ "Images" + fileName; 

Es scheint, dass Sie versuchen, zum Lesen von Daten ein Verzeichnis, das nicht logisch korrekt ist.
Die Verwendung von FileInputStream zum Lesen von Zeichen (keine Daten) wird nicht empfohlen. Sie können stattdessen einen BufferedReader verwenden.
Auch für den Namen der Dateien in einem Verzeichnis erhalten, können Sie dies lesen: Read all files in a folder

+0

Der Dateiname bedeutet mein Datei-Image-Name? "Bilder" ist der Name von Ordnerbildern und ich versuche, alle Bilder aus diesem Ordner zu lesen, nicht nur um ein Bild zu lesen. Können Sie mir zeigen, wie man Bufferedreader benutzt? – Belle

+0

Dann lesen Sie die Frage, die ich in meiner Antwort den Link zur Verfügung gestellt –

Verwandte Themen