Java解决java.io.FileNotFoundException: E:\work\work (拒绝访问。)

Java解决java.io.FileNotFoundException: E:\work\work (拒绝访问。)一 问题在使用 FileInputStr 时会遇到如下问题 1 和问题 2 问题 1 java io FileNotFound xxx xxx txt 系统找不到指定的路径 atjava io FileOutputSt open NativeMethod atjava io FileOutputSt Unknown

java.io.FileNotFoundException: .\xxx\xxx.txt (系统找不到指定的路径。) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream. 
  
    (Unknown Source) at java 
   .io 
   .FileOutputStream. 
   
     (Unknown Source) at 
    com 
    .yaohong 
    .test 
    .InputStreamTest 
    .fileInputStream(InputStreamTest 
    .java: 
    13) at 
    com 
    .yaohong 
    .test 
    .InputStreamTest 
    .main(InputStreamTest 
    .java: 
    27) 
    
  

问题2:

java.io.FileNotFoundException: .\xx\xx (拒绝访问。) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream. 
  
    (Unknown Source) at java 
   .io 
   .FileOutputStream. 
   
     (Unknown Source) at 
    com 
    .yaohong 
    .test 
    .InputStreamTest 
    .fileInputStream(InputStreamTest 
    .java: 
    13) at 
    com 
    .yaohong 
    .test 
    .InputStreamTest 
    .main(InputStreamTest 
    .java: 
    27) 
    
  
//在填写文件路径时,一定要写上具体的文件名称(xx.txt),否则会出现拒绝访问。 File file = new File("./mywork/work.txt"); if(!file.exists()){ //先得到文件的上级目录,并创建上级目录,在创建文件 file.getParentFile().mkdir(); try { //创建文件 file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } }

第二个的解决办法是,在填写文件的路径时一定要具体到文件,如下:

File file = new File("./mywork/work.txt");

而不能写成:

 File file = new File("./mywork/");

因为这样你访问的是一个目录,因此就拒绝访问。

四、源码(我的demo)

1、文件输出流

/ * 文件输出流方法 */ public void fileOutputStream() { File file = new File("./mywork/work.txt"); FileOutputStream out = null; try { if (!file.exists()) { // 先得到文件的上级目录,并创建上级目录,在创建文件 file.getParentFile().mkdir(); file.createNewFile(); } //创建文件输出流 out = new FileOutputStream(file); //将字符串转化为字节 byte[] byteArr = "FileInputStream Test".getBytes(); out.write(byteArr); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }

2、文件输入流方法

/ * 文件输入流 */ public void fileInputStream() { File file = new File("./mywork/work.txt"); FileInputStream in = null; //如果文件不存在,我们就抛出异常或者不在继续执行 //在实际应用中,尽量少用异常,会增加系统的负担 if (!file.exists()){ throw new FileNotFoundException(); } try { in = new FileInputStream(file); byte bytArr[] = new byte[1024]; int len = in.read(bytArr); System.out.println("Message: " + new String(bytArr, 0, len)); in.close(); } catch (IOException e) { e.printStackTrace(); } }

如有错误,还望指正,谢谢合作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201644.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:57
下一篇 2026年3月20日 上午8:57


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号