【文件】FileOutputStream 出现 FileNotFoundException

原创 2015年11月20日 20:16:38

1、如题,这个问题很奇葩,同样的代码,有时候会出错,有时候就不会;


2、 首先要知道,FileOutputSteam 是不会创建不存在的路径,所以需要先创建路径,再创建文件

File photoFileDir = new File(Environment.getExternalStorageDirectory() + "/ClipHeadPhoto/cache/");  
// 注意path参数,最后是有斜杠的
if(!photoFileDir.exists()){    // 如果路径不存在,就创建路径
     photoFileDir.mkdirs();  
}
// mkdir()是创建单级目录,必须在已存在的目录下创建目录
// mkdirs()是创建多级目录,比如不存在ClipHeadPhoto目录,就先创建该目录,再创建cache目录
File photoFile = new File(photoFileDir, photoName);
// 然后再创建路径和文件名的File对象
FileOutputStream fileOutputStream = null;
try {
    fileOutputStream = new FileOutputStream(photoFile);
    // XXXXX 各种操作    
} catch (Exception e) {
    photoFile.delete();    // 如果抛出异常,一定要删除该文件
    e.printStackTrace();
} finally {
    try {
        fileOutputStream.close();    // finally中,一定要关闭输出流
    } catch (Exception e) {
        e.printStackTrace();
    }
}
// 注意处理异常的方式,非常重要
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

关于IO流在复制文件时出现java.io.FileNotFoundException: D:\xxx (拒绝访问。) 拒绝访问的问题

关于IO流在复制文件时出现java.io.FileNotFoundException: D:\xxx (拒绝访问。) 拒绝访问的问题 Exception in thread "main" jav...

Android 6.0系统读写文件出现FileNotFoundException:EACCES (permission denied)解决办法

先检查你的AndroidManifest.xml是否已经有读写权限: 然后在获取文件流的时候,报出异

使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法

使用HttpURLConnection下载文件时经常会出现 java.io.FileNotFoundException文件找不到异常,下面介绍下解决办法 首先设置tomcat对get数据的编码:...
  • Tibib
  • Tibib
  • 2012-05-13 21:05
  • 17310

web 项目log4j配置无法获取文件(java.io.FileNotFoundException: /logs/log.txt (No such file or directory))猜想

现象:信息: No Spring WebApplicationInitializer types detected on classpath log4j:ERROR setFile(null,tru...

Struts2文件上传FileNotFoundException问题

1.使用Struts2实现单个文件上传 注意:要实现文件上传文件,一定要添加两个jar包,commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar (1)...

Struts上传文件报java.io.FileNotFoundException错误

在一个项目中,在实现异步文件上传的时候报 java.io.FileNotFoundException: F:\java\.metadata\.me_tcat7\webapps\emailOA\upl...

hdfs 复制文件 java.io.FileNotFoundException(文件名、目录名或卷标语法不正确)

Exception in thread "main" java.io.FileNotFoundException: hdfs:\192.168.73.16:8020\user\9003547\text...

用FileInputStream和FileOutputStream拷贝文件

在E:\JavaIO中新建abc.txt文件,并在里面写上一些文字。现在要做的是,在Eclipse里面用FileInputStream和 FileOutputStream的read()和write(...

FileInputStream和FileOutputStream字节流实现文件复制

java.io.FileInputStream; java.io.FileOutputStream; 使用字节流实现文件复制
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)