一、问题
在使用FileInputStream或FileOutputStream时会遇到如下问题1和问题2。
问题1:

java.io.FileNotFoundException: .\xxx\xxx.txt (系统找不到指定的路径。)at java.io.FileOutputStream.open(Native Method)at java.io.FileOutputStream.<init>(Unknown Source)at java.io.FileOutputStream.<init>(Unknown Source)at com.yaohong.test.InputStreamTest.fileInputStream(InputStreamTest.java:13)at com.yaohong.test.InputStreamTest.main(InputStreamTest.java:27)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

问题2:

java.io.FileNotFoundException: .\xx\xx (拒绝访问。)at java.io.FileOutputStream.open(Native Method)at java.io.FileOutputStream.<init>(Unknown Source)at java.io.FileOutputStream.<init>(Unknown Source)at com.yaohong.test.InputStreamTest.fileInputStream(InputStreamTest.java:13)at com.yaohong.test.InputStreamTest.main(InputStreamTest.java:27)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

二、分析
在进行分析时,我得说清楚什么时候抛拒绝访问,什么时候抛找不到指定路径。原因是这样的,在构造一个File对象时,指定的文件路径是什么都可以,就算不存在也能够构造File对象,但是,现在你要对文件进行输入输出操作,也就是InputStream和OutputStream操作时,如果填写的路径不存在,那么就会报系统找不到指定路径,如果指定的是目录时,就会报拒绝访问异常。看了这个前提之后,在继续往下读。

当遇到问题1时,的确是当前所指定的文件不存在或者目录不存在。
当遇到第二个问题时,是因为你访问的是一个文件目录,如果这个目录没有权限访问或者是目录不存在,就会抛出问题2的异常。

三、解决办法
第一个的解决办法是,先判断一下当前文件是否存在,如果存在则略过,如果不存在,在创建,具体做法如下:

//在填写文件路径时,一定要写上具体的文件名称(xx.txt),否则会出现拒绝访问。
File file = new File("./mywork/work.txt");
if(!file.exists()){//先得到文件的上级目录,并创建上级目录,在创建文件file.getParentFile().mkdir();try {//创建文件file.createNewFile();} catch (IOException e) {e.printStackTrace();}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

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

而不能写成:

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

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

四、源码(我的demo)

1、文件输出流

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

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

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();}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

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

一、问题
在使用FileInputStream或FileOutputStream时会遇到如下问题1和问题2。
问题1:

java.io.FileNotFoundException: .\xxx\xxx.txt (系统找不到指定的路径。)at java.io.FileOutputStream.open(Native Method)at java.io.FileOutputStream.<init>(Unknown Source)at java.io.FileOutputStream.<init>(Unknown Source)at com.yaohong.test.InputStreamTest.fileInputStream(InputStreamTest.java:13)at com.yaohong.test.InputStreamTest.main(InputStreamTest.java:27)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

问题2:

java.io.FileNotFoundException: .\xx\xx (拒绝访问。)at java.io.FileOutputStream.open(Native Method)at java.io.FileOutputStream.<init>(Unknown Source)at java.io.FileOutputStream.<init>(Unknown Source)at com.yaohong.test.InputStreamTest.fileInputStream(InputStreamTest.java:13)at com.yaohong.test.InputStreamTest.main(InputStreamTest.java:27)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

二、分析
在进行分析时,我得说清楚什么时候抛拒绝访问,什么时候抛找不到指定路径。原因是这样的,在构造一个File对象时,指定的文件路径是什么都可以,就算不存在也能够构造File对象,但是,现在你要对文件进行输入输出操作,也就是InputStream和OutputStream操作时,如果填写的路径不存在,那么就会报系统找不到指定路径,如果指定的是目录时,就会报拒绝访问异常。看了这个前提之后,在继续往下读。

当遇到问题1时,的确是当前所指定的文件不存在或者目录不存在。
当遇到第二个问题时,是因为你访问的是一个文件目录,如果这个目录没有权限访问或者是目录不存在,就会抛出问题2的异常。

三、解决办法
第一个的解决办法是,先判断一下当前文件是否存在,如果存在则略过,如果不存在,在创建,具体做法如下:

//在填写文件路径时,一定要写上具体的文件名称(xx.txt),否则会出现拒绝访问。
File file = new File("./mywork/work.txt");
if(!file.exists()){//先得到文件的上级目录,并创建上级目录,在创建文件file.getParentFile().mkdir();try {//创建文件file.createNewFile();} catch (IOException e) {e.printStackTrace();}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

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

而不能写成:

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

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

四、源码(我的demo)

1、文件输出流

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

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

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();}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

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

java.io.FileNotFoundException:(拒接访问)相关推荐

  1. 文件之间的拷贝(拷贝图片实例)java.io.FileNotFoundException: G:\dad (拒绝访问。)通过绝对路径获取各种文件名

    1.报错解决 :java.io.FileNotFoundException: G:\dad (拒绝访问.) 参考文献:(364条消息) java.io.FileNotFoundException:(拒 ...

  2. ie显示服务器拒接链接,IE浏览器拒接访问是怎么回事 IE浏览器显示拒接访问的有效解决方法...

    IE浏览器是我们安装完系统后自带的浏览器,很多老用户都用习惯了,当你用IE浏览器的时候长了之后,你会遇到很多你没遇到过的问题,在昨天有网友就向小编请教了关于IE浏览器的事,IE浏览器显示拒接访问,之前 ...

  3. java.io.file jar_IDEA Maven 打包运行 jar java.io.FileNotFoundException: 问题?

    java.io.FileNotFoundException: D:\workspaceIdea\ywjc-refactor\target\lib\javax.annotation-api-1.3.2. ...

  4. 手机安装失败java. io_Android java.io.FileNotFoundException:*** (Permission denied)

    自从离开上海来到杭州之后,陆续接触了Android,Python,C++,OpenCV,最为一个新人来说,一路上遇到了很多坑,幸运的是 这互联网的强大(大傻子我还是蛮喜欢的哈),一路填填补补总算走了下 ...

  5. java打开文件出错_打开文件错误太多,java.io.FileNotFoundException

    在我的程序中,我有循环扫描一堆文件并读取其内容.问题发生在大约1500个文件的迭代中,似乎无法再现(或理解(由我)) 问题: java.io.FileNotFoundException: /path/ ...

  6. ApkTool反编译出错brut.common.brutexception及java.io.filenotfoundexception 之一

    反编译apk经常会遇到各种错误,smali文件出错还好,在错误信息里能看出大概哪里有了问题.但是xml文件里要是出错了就有点费劲了,很多时候抛出的错误信息是无法知道具体原因的.... 很多时候会抛出b ...

  7. springboot中getOutputStream() has already been called for this response和java.io.FileNotFoundException

    这个异常挺多人遇到的,不过我看了一下,跟我们的情况都不一样. 1.    流没关闭. 2.    未设置响应头. 3.    jsp页面需要清空流. 说一下我们遇到的情况.就是一个简单的sprinbo ...

  8. Exception in thread “main“ java.io.FileNotFoundException: C:\Temp (拒绝访问。)

    Exception in thread "main" java.io.FileNotFoundException: C:\Temp (拒绝访问.)     at java.io.F ...

  9. transferto遇到的问题java.io.FileNotFoundException: C:\Users\Administrator\AppData\Local\Temp

    将MultipartFile转为File,使用注解掉的方法时错误:java.io.FileNotFoundException: C:\Users\Administrator\AppData\Local ...

最新文章

  1. 根据Apriltag进行角度和距离检测
  2. 第十一届蓝桥杯A组省赛填空试题 C: 蛇形填数(Java)
  3. handler类型的定时器
  4. Java面向对象编程篇2——面向对象三大特点
  5. vnc远程桌面_手机vnc远程桌面,手机vnc远程桌面,使用配置详解
  6. 1.6 万亿参数你怕了吗?谷歌大脑语言模型速度是 T5 速度的 7 倍
  7. ​苹果WWDC20确定6月22日线上举办;任天堂遭史上最大规模黑客攻击 ;Inkscape 1.0 发布 | 极客头条...
  8. Error: ER_ACCESS_DENIED_ERROR: Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决办法
  9. 偶数支足球队进行单循环比赛,按照指定算法打印每轮的对阵形势
  10. QT实现经纬度转换为图片像素坐标
  11. 公众号获取access_token失败
  12. 提示:“网络连接”文件夹不能检索在您机器上的网络适配器.请确认“网络连接”服务起用并运行....
  13. SDN概述:简介、工具、环境部署
  14. 实战 Java 第12天:开发商品点赞接口
  15. 构建安全新模式,零信任如何破局 ?
  16. 利用燕尾花数据集画出P-R曲线
  17. 利用Instrumentation单元测试模块控制安卓手机进行各项操作(微信)
  18. 顺丰--Java丰桥接口整体封装(下单、查询、打印)
  19. 【毕业设计】基于单片机的家庭智能监控系统 - 物联网 stm32 嵌入式
  20. 养牛和养羊相比,用同样的资金,哪个效益会更高一些?

热门文章

  1. Linux(一)操作系统基础知识
  2. Windows Phone理解和运用ItemTemplate、ContentTemplate和DataTemplate
  3. 安卓桌面壁纸_最强安卓系统?MIUI12深度评测。
  4. 深度聚焦,持续发力,天空卫士上榜《2021中国网络安全产业势能榜》“专精型”厂商 TOP 20
  5. SqlServer数据库DROP TABLE IF EXISTS语句
  6. 消息队列rabbitmq(二)windows系统erl和rabbitmq的安装
  7. QT程序发布使用的软件集合
  8. 通过例子学TLA+(五)--FIFO Sequences
  9. flex vue 垂直居中居上_图片水平垂直居中对齐的四种做法
  10. 16s rDNA数据分析经验总结