java文件的读取、粘贴、移动等
来源:互联网 发布:网站美工设计教程 编辑:程序博客网 时间:2024/06/05 18:41
在java中文件的操作 主要是读取 写入 创建 和删除这些基本的操作,复制、移动、都是基于这些基本操作上面的流(io)操作;这里简单的说明下这几个基本操作,然后再以代码示例;
- 复制
复制是通过被复制路径和复制路径才读取和写入相同的文件,涉及到几个需要注意的是:
复制路径是否存在,复制的是文件还是文件夹,复制的是空文件夹还是非空,这些在我们做运算处理时一定要注意,否则会复制失败;
//下面是一个文件的复制,只需要对内容进行读取和写入;
public void copyfile(String oldfile,String newfolder){ File fileold=new File(oldfile); if(fileold.exists()){ System.out.println("文件存在继续操作"); try { InputStream is=new FileInputStream(fileold);//读取源文件 FileOutputStream os=new FileOutputStream(newfolder); byte[]bu=new byte[1022];//每次读取大小 int lenth=0; try { while ((lenth=is.read(bu))!=-1) { os.write(bu); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
关于文件夹的复制就相对麻烦一些,同样会给出两个相同的文件夹的,不同的是还要对文件夹下的文件进行判断处理,关于这一点和文件夹的删除很相似,所以给出大家文件夹的删除,大家自行拓展;
- 文件夹的删除
文件夹的删除,java中只能对空文件夹和文件进行删除,所以对于包含了的文件夹,以及子文件夹下面还有文件夹等各种复杂情况,听起来很想循环的感觉有木有,单不推荐去使用for 很复杂,我们这里使用递归;如果对递归的不了解的,可以自己各种百度,我这里就简单给你们说下递归是怎么使用的 很简单也很容易理解:
递归就是一个对方法的自身反复调用,在删除中我们结合if来判断是否再次进行调用,如何对方法自身反复调用下面给大家看一个例子,大家就明白了:
private int recursion() { return recursion(); }
这就是一个基本的递归调用,返回类型可以是什么都可以,通常是基本类型吧, 参数类型我图简单,也没用总之基本结果就是这样,别的都不多说了;
下面看删除文件夹的代码:
public void deletefolder(String pathandname){ File file=new File(pathandname); if(file.exists()){//不知道里面装的是什么 比如说有文件 文件夹 等 //进型判定 if(file.isDirectory()){//是否有下级属性 String []filename_list=file.list();//打包的是文件的名称 System.out.println("改文件下含有文件列表为:"+filename_list.toString()); // 我们还需要做的是判断这里面的每个文件下面是否还有文件,文件等 //这里就需要递归了 //先删除了空文件和文件 File infile=null; for (int i = 0; i < filename_list.length; i++) { // if(pathandname.endsWith(File.separator)){ infile=new File(pathandname+filename_list[i]); }else { infile=new File(pathandname+File.separator+filename_list[i]); } if(infile.isFile()){ //是文件直接删除 System.out.println("删除了文件"+pathandname+File.separator+filename_list[i]); infile.delete(); } if(infile.isDirectory()){//表示的是是否有下级 也就是是否是文件夹 deletefolder(pathandname+File.separator+filename_list[i]); infile.delete(); System.out.println("删除了文件夹"+pathandname+File.separator+filename_list[i]); } } }else { file.delete(); System.out.println("删除了文件夹"+pathandname); } } }
关于文件的删除直接调用delete()就可以了 就不做说明了;
- 文件夹的创建
这个简单说明就可以了 通常文件夹的创建要结合该文件夹是否存在 否则文件夹会创建失败,希望大家能够保持逻辑的完整性;
public void newfolder(String path) { File file=new File(path); if(!file.exists()){ boolean f=file.mkdirs(); if(f){ System.out.println("创建文件目录成功!"+file.toString()); }else { System.out.println("创建文件目录失败!"+file.toString()); } }else { System.out.println("文件路径已经存在,请重新创建一个文件"+path); } }
- 文件的创建和写入:
直接给他家看代码了,不做过多解释;
public void newfile(String pathandname,String filecontext){ File file=new File(pathandname); if(!file.exists()){ try { boolean f=file.createNewFile(); if(f){ System.out.println("创建文件成功!"+file.toString()); }else { System.out.println("创建文件失败!"+file.toString()); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }// try { FileWriter writer=new FileWriter(file);// PrintWriter pw=new PrintWriter(writer); writer.write(filecontext); pw.close(); writer.close();//关闭输入 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else { System.out.println("文件已经存在,请重新命名文件"+pathandname); } }
阅读全文
0 0
- java文件的读取、粘贴、移动等
- Java实现文件的读取、写入、复制、修改、移动等操作
- 文件移动、复制、粘贴、删除
- Linux初学者学习文件的复制粘贴删除移动命令
- Java文件操作:拷贝、读取文件等
- python读取文件处理网页粘贴代码出现的问题
- JAVA读取文本.XML等文件
- JAVA读取等操作Excel文件
- java复制文件删除文件 移动文件 复制文件夹等
- 文件的复制删除移动等操作
- java的文件读取
- java文件的读取
- java 的 文件、文件夹 的建立、删除、复制以及移动等功能 操作
- vim复制,粘贴,删除,撤销,替换,光标移动等用法
- vim复制,粘贴,删除,撤销,替换,光标移动等用法
- vim复制,粘贴,删除,撤销,替换,光标移动等用法
- vim复制,粘贴,删除,撤销,替换,光标移动等用法
- vim复制,粘贴,删除,撤销,替换,光标移动等用法
- iOS 图片裁剪(用户头像裁剪)
- R语言使用K均值方法处理数据
- MySQL 数据库常用命令小结
- Hdu2017 字符串统计
- css背景图像问题(background-size)
- java文件的读取、粘贴、移动等
- Devops学习实践(四) jenkins通过maven或ant集成checkstyle
- JS正则表达式元字符
- 【机器学习PAI实践八】用机器学习算法评估学生考试成绩
- laravel 5.4 自定义表单验证
- 幼儿园作业(毕业季)
- 移动POS机五大安全问题
- Reverse Linked List
- Linux 网络调试