java复制文件拒绝访问权限_关于IO流在复制文件时出现java.io.FileNotFoundException: D:\xxx (拒绝访问。) 拒绝访问的问题...
关于IO流在复制文件时出现java.io.FileNotFoundException: D:\xxx(拒绝访问。)
拒绝访问的问题
Exception in thread "main"java.io.FileNotFoundException: D:\xxx
(拒绝访问。)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at com.itheima_09Test.IOUtils.copyFile2Dir(IOUtils.java:13)
at com.itheima_09Test.Test_04.main(Test_04.java:31)
该异常主要出现在将文件或文件夹中文件复制到文件夹中,由于IO流是针对文件而言,所以没有权限访问文件目录
错误:FileOutputStream bos=newFileOutputStream(目标文件夹);//出错原因
案例一:(以下案例本应用try -catch出来异常,为了明了故直接抛出)
//要求:将srcFile文件复制到destDir目标文件夹中(不能改变源文件的名称)
public static void copyFile2Dir(File srcFile,File destDir) throws IOException{
//创建输入流对象 将源文件File对象传入其形参
FileInputStream fis= new FileInputStream(srcFile);
//获取目标路径的File对象,关键在于目标路径问题,注意复制访问
//只能是文件不能是文件夹 否则拒绝访问,getpath()得到具体带盘符的路径
//getName()得到的是文件的名称,两者字符串拼接就是具体的目标路径(目标文件//路径)
File file= new File(destDir.getPath()+File.separator+srcFile.getName());//****出错关键点******
//判断目标文件夹File对象(路径)是否存在,不存在则创建
if(!file.exists()){
destDir.mkdirs();
}
//创建输出流对象
FileOutputStream bos= new FileOutputStream(file);
//常规的读写复制
int len;
byte [] b= new byte[1024];
while((len=fis.read(b))!=-1){
bos.write(b, 0, len);
bos.flush();
}//关闭资源
bos.close();
fis.close();
System.out.println("复制成功");
}
案例二如下
// 要求:将srcDir文件夹中的所有文件(不包含子文件夹)复制
//到destDir目标文件夹中(不能改变源文件的名称)
public static void copyDir2Dir(File srcDir,File destDir) throws IOException{
ArrayListarr= new ArrayList<>();
getDataFiles(srcDir,arr);//调用方法将srcDir中所有的文件添加到集合中
for (int i = 0; i < arr.size(); i++) { //遍历集合将里面每个File文件读写复制到目标文件夹中
FileInputStream fis= new FileInputStream(arr.get(i));
File file= new File(destDir.getPath()+File.separator+arr.get(i).getName());//目标路径问题关键if(!file.exists()){ //判断目标文件夹是否存在,不存在则创建
destDir.mkdirs();
}
FileOutputStream bos= new FileOutputStream(file);;
int len;//常规的读写复制
byte [] b= new byte[1024];
while((len=fis.read(b))!=-1){
bos.write(b, 0, len);
bos.flush();
}//关闭资源
fis.close();
bos.close();
}
}
//方法功能:递归将file中文件都添加到集合中
public static void getDataFiles(File file,ArrayListlist){
if(file.isFile()){//如果file是文件
list.add(file);
}else{//如果file是文件夹
File[] listFiles = file.listFiles();//获取file中每一个文件,并遍历递归
for (File file2 : listFiles) {
getDataFiles( file2,list);
}
}
}
补充:还有一种情况出现java.io.FileNotFoundException异常就是源文件本来就不存在
java复制文件拒绝访问权限_关于IO流在复制文件时出现java.io.FileNotFoundException: D:\xxx (拒绝访问。) 拒绝访问的问题...相关推荐
- java 接口访问权限_详解Java之路(五) 访问权限控制
在Java中,所有事物都具有某种形式的访问权限控制. 访问权限的控制等级从最大到最小依次为:public,protected,包访问权限(无关键词)和private. public,protected ...
- 复制assert目录文件到私有目录_每天学点之CentOS文件/目录的权限
Linux中,最基本的两个命令:"cd"与"ls"."cd"是可以切换目录,如:cd /dev,就是进入到"根"目录下的 ...
- linux限制组访问权限,linux用户和组管理以及文件权限访问控制ACL策略
01.通配符 文件通配符可以用来匹配符合条件的多个文件,方便批量管理文件. 通配符采用特定的符号,表示特定的含义,此符号称为元 meta 字符. 常见的通配符如下: * 匹配零个或多个字符,但不匹配 ...
- mac设置文件权限_如何在Mac上设置文件权限
mac设置文件权限 Like all major operating systems, macOS allows you to restrict access to files using a com ...
- linux修改文件夹的访问权限,linux setfacl chmod g+s 修改文件夹和文件的默认访问权限和所属组...
linux setfacl chmod g+s 修改文件夹和文件的默认访问权限和所属组 我们在创建一个文件夹或者一个文件的时候,希望集成父文件夹的访问权限和组 修改默认访问权限 setfacl 以及 ...
- java 输入流可以合并吗_Java 使用IO流实现大文件的分割与合并实例详解
java 使用IO流实现大文件的分割与合并 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,这个时 ...
- java byte char io流_一文带你看懂JAVA IO流,史上最全面的IO教学
原标题:一文带你看懂JAVA IO流,史上最全面的IO教学 一.IO流是什么 惯例引用百科的回答 流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符 ...
- java 流压缩_java之IO流:压缩文件
在java的学习中,IO流是一个避不开的话题.在java日常的学习和使用中,为了给不同的场景提供不同的用途,IO流拥有一个庞大的方法集合.虽然给使用者提供了极大的便利,但此同时也带来了学习时的异常冗杂 ...
- java IO流读取保存图片文件
java IO流读取保存图片文件 package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStrea ...
- 利用IO流一次性读取文件中的所有内容,利用IO流下载文件
利用IO流一次性读取文件中的所有内容 读取文件效率最快的方法就是一次全读进来,使用readline()之类的方法,可能需要反复访问文件,而且每次readline()都会调用编码转换,降低了速度,所以, ...
最新文章
- Linux下使用OTL操作mysql数据库
- 使用gradle插件发布项目到nexus中央仓库
- js使浏览器窗口最大化(适用于IE的方法)
- C++/OpenCV:将数据保存到xml、yaml / 从xml、yaml读取数据
- ApacheCN JavaScript 译文集(二) 20211123 更新
- python 闭包_一起看流畅的python:函数装饰器和闭包
- 同步手机文件到家庭服务器,同步文件到服务器
- 绝缘检测是什么? 绝缘检测原理 绝缘检测检测的是什么?那个量?电压?电流?电阻?
- 嵌入式单片机该如何选型?
- 阿里面试整个流程(已OC)
- 计算机通信网自学笔记(2)
- win10休眠_最牛的win10优化设置方法大全
- 百度自然语言处理开放接口使用代码
- Again! There are tons of wrong answers!
- 小熊、九阳、苏泊尔,小家电玩家们乱了阵脚?
- PMP常考知识点核对单-10.沟通管理
- 对Xcode7真机调试的无力吐槽
- RXJAVA-FlatMap
- Comparable和Comparator接口
- 铁甲雄兵显示服务器维护,铁甲雄兵正在获取服务器地址