Java文件操作大全(三)

16.移动一个文件夹下所有的文件夹到另一个目录下
//import java.io.*;
//import java.util.*;
File movefolders=new File(%%1);
File[] movefoldersList=movefolders.listFiles();
for(int k=0;k<movefoldersList.length;k++){
if(movefoldersList[k].isDirectory()){
ArrayList<String>folderList=new ArrayList<String>();
folderList.add(movefoldersList[k].getPath());
ArrayList<String>folderList2=new ArrayList<String>();
folderList2.add(%%2+"/"+movefoldersList[k].getName());
for(int j=0;j<folderList.length;j++){
 (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
 File folders=new File(folderList.get(j));
 String[] file=folders.list();
 File temp=null;
 try {
 for (int i = 0; i < file.length; i++) {
 if(folderList.get(j).endsWith(File.separator)){
 temp=new File(folderList.get(j)+"/"+file[i]);
 }
 else{
 temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
 }
 FileInputStream input = new FileInputStream(temp);
 if(temp.isFile()){
 FileInputStream input = new FileInputStream(temp);
 FileOutputStream output = new FileOutputStream(folderList2.get(j) + "/" +
 (temp.getName()).toString());
 byte[] b = new byte[5120];
 int len;
 while ( (len = input.read(b)) != -1) {
 output.write(b, 0, len);
 }
 output.flush();
 output.close();
 input.close();
temp.delete();
 }
 if(temp.isDirectory()){//如果是子文件夹
 folderList.add(folderList.get(j)+"/"+file[i]);
 folderList2.add(folderList2.get(j)+"/"+file[i]);
 }
 }
 }
 catch (Exception e) {
 System.out.println("复制整个文件夹内容操作出错");
 e.printStackTrace();
 }
}
movefoldersList[k].delete();
}
}

17.以一个文件夹的框架在另一个目录创建文件夹和空文件
//import java.io.*;
//import java.util.*;
boolean b=false;//不创建空文件
ArrayList<String>folderList=new ArrayList<String>();
folderList.add(%%1);
ArrayList<String>folderList2=new ArrayList<String>();
folderList2.add(%%2);
for(int j=0;j<folderList.length;j++){
 (new File(folderList2.get(j))).mkdirs(); //如果文件夹不存在 则建立新文件夹
 File folders=new File(folderList.get(j));
 String[] file=folders.list();
 File temp=null;
 try {
 for (int i = 0; i < file.length; i++) {

if(folderList.get(j).endsWith(File.separator)){
 temp=new File(folderList.get(j)+"/"+file[i]);
 }
 else{
 temp=new File(folderList.get(j)+"/"+File.separator+file[i]);
 }
 FileInputStream input = new FileInputStream(temp);
 if(temp.isFile()){
if (b) temp.createNewFile();
 }
 if(temp.isDirectory()){//如果是子文件夹
 folderList.add(folderList.get(j)+"/"+file[i]);
 folderList2.add(folderList2.get(j)+"/"+file[i]);
 }
 }
 }
 catch (Exception e) {
 System.out.println("复制整个文件夹内容操作出错");
 e.printStackTrace();
 }
}

18.复制文件
//import java.io.*;
 int bytesum = 0;
 int byteread = 0;
 File oldfile = new File(%%1);
 try {
 if (oldfile.exists()) { //文件存在时
 FileInputStream inStream = new FileInputStream(oldfile); //读入原文件
 FileOutputStream fs = new FileOutputStream(new File(%%2,oldfile.getName()));
 byte[] buffer = new byte[5120];
 int length;
 while ( (byteread = inStream.read(buffer)) != -1) {
 bytesum += byteread; //字节数 文件大小
 System.out.println(bytesum);
 fs.write(buffer, 0, byteread);
 }
 inStream.close();
 }
 }
 catch (Exception e) {
 System.out.println("复制单个文件操作出错");
 e.printStackTrace();
 } 

19.复制一个文件夹下所有的文件到另一个目录
//import java.io.*;
File copyfiles=new File(%%1);
File[] files=copyfiles.listFiles();
for(int i=0;i<files.length;i++){
if(!files[i].isDirectory()){
 int bytesum = 0;
 int byteread = 0;
 try {
 InputStream inStream = new FileInputStream(files[i]); //读入原文件
 FileOutputStream fs = new FileOutputStream(new File(%%2,files[i].getName());
 byte[] buffer = new byte[5120];
 int length;
 while ( (byteread = inStream.read(buffer)) != -1) {
 bytesum += byteread; //字节数 文件大小
 System.out.println(bytesum);
 fs.write(buffer, 0, byteread);
 }
 inStream.close();
 } catch (Exception e) {
 System.out.println("复制单个文件操作出错");
 e.printStackTrace();
 }
}


20.提取扩展名
String %%2=%%1.substring(%%1.lastIndexOf(".")+1);
21.提取文件名
String %%2=%%1.substring(%%1.lastIndexOf("//")+1); 

22.提取文件路径
String %%2=%%1.substring(0,%%1.lastIndexOf("//")); 

23.替换扩展名
//import java.io.*;
File replaceExt=new File(%%1);
replaceExt.renameTo(replaceExt.getName().split(".")[0]+"."+%%2); 

24.追加路径
final String path=%%1.endsWith("//")?%%1:%%1+"//";
%%3=path+%%2;

25.移动文件
//import java.io.*;
 int bytesum = 0;
 int byteread = 0;
 File oldfile = new File(%%1);
 try {
 if (oldfile.exists()) { //文件存在时
 InputStream inStream = new FileInputStream(oldfile); //读入原文件
 FileOutputStream fs = new FileOutputStream(new File(%%2,oldfile.getName()));
 byte[] buffer = new byte[5120];
 int length;
 while ( (byteread = inStream.read(buffer)) != -1) {
 bytesum += byteread; //字节数 文件大小
 //System.out.println(bytesum);
 fs.write(buffer, 0, byteread);
 }
 inStream.close();
oldfile.delete();
 }
 }
 catch (Exception e) {
 System.out.println("复制单个文件操作出错");
 e.printStackTrace();
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值