2016-05-10 52 views
0

我想从文件目录加载图像文件。然后,我想将文件对象转换为字符串对象。不幸的是,我不断收到这个错误信息。我该如何解决它?为什么要继续接收java.io.FileNotFoundException:(访问被拒绝)错误?

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) 

氏是我的整个代码

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

是E:\ workspace \ sesaja \映像文件或目录? –

+0

@DavideLorenzoMARINO它是一个文件目录 – Belle

+0

你想从目录中读取吗?这是一个dir不是文件 –

回答

0

拼接所需的文件名在该行的末尾:

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

看来你正试图从文件读取数据一个目录,这在逻辑上不正确。
还建议不要使用FileInputStream来读取字符(不是数据)。您可以改用BufferedReader
也可以读取目录中的文件名称,您可以阅读:Read all files in a folder

+0

文件名意味着我的文件映像名称? “图像”是文件夹图像的名称,我试图从该文件夹读取所有图像,不仅要读取一个图像。 你能告诉我如何使用Bufferedreader吗? – Belle

+0

然后阅读我在答案中提供链接的问题 –

相关问题