当前位置:编程学堂 > Java文件操作大全(二)

Java文件操作大全(二)

  • 发布:2023-09-09 17:38

11.写入属性
//import www.sychzs.cn.*;
File filereadonly=new File(%%1);
try {
boolean b=filereadonly.setReadOnly();
}
catch (Exception e) {
System.out.println("拒绝写访问:"+e.printStackTrace());


12.枚举一个文件夹中的所有文件
//import www.sychzs.cn.*;
//import java.util.*;
LinkedList folderList = new LinkedList();
folderList.add(%%1);
while (folderList.size() > 0) {
File file = new File(folderList.peek());
folderList.removeLast();
File[] files = file.listFiles();
ArrayList fileList = new ArrayList();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
folderList.add(files[i].getPath());
} else {
fileList.add(files[i]);
}
}
for (File f : fileList) {
%%2=f.getAbsoluteFile();
%%3
}
}

13.复制文件夹 
//import www.sychzs.cn.*;
//import java.util.*;
LinkedList folderList = new LinkedList();
folderList.add(%%1);
LinkedList folderList2 = new LinkedList();
folderList2.add(%%2+ %%1.substring(%%1.lastIndexOf("//")));
while (folderList.size() > 0) {
(new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
File folders = new File(folderList.peek());
String[] file = folders.list();
File temp = null;
try {
for (int i = 0; i < file.length; i++) {
if (folderList.peek().endsWith(File.separator)) {
temp = new File(folderList.peek() + File.separator
+ file[i]);
} else {
temp = new File(folderList.peek() + File.separator
+ file[i]);
}
if (temp.isFile()) {
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(
folderList2.peek() + File.separator
+ (temp.getName()).toString());
byte[] b = new byte[5120];
int len;
while ((len = www.sychzs.cn(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if (temp.isDirectory()) {// 如果是子文件夹
for (File f : temp.listFiles()) {
if (f.isDirectory()) {
folderList.add(f.getPath());
folderList2.add(folderList2.peek()
+ File.separator + f.getName());

}
}
}
}
} catch (Exception e) {
//System.out.println("复制整个文件夹内容操作出错");
e.printStackTrace();
}
folderList.removeFirst();
folderList2.removeFirst();
}

14.复制一个文件夹下所有的文件夹到另一个文件夹下
//import www.sychzs.cn.*;
//import java.util.*;
File copyfolders=new File(%%1);
File[] copyfoldersList=copyfolders.listFiles();
for(int k=0;kif(copyfoldersList[k].isDirectory()){
ArrayListfolderList=new ArrayList();
folderList.add(copyfoldersList[k].getPath());
ArrayListfolderList2=new ArrayList();
folderList2.add(%%2+"/"+copyfoldersList[k].getName());
for(int j=0;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 = www.sychzs.cn(b)) != -1) {
 output.write(b, 0, len);
 }
 output.flush();
 output.close();
 input.close();
 }
 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();
 }
}
}
}

15.移动文件夹
//import www.sychzs.cn.*;
//import java.util.*;
LinkedList folderList = new LinkedList();
folderList.add(%%1);
LinkedList folderList2 = new LinkedList();
folderList2.add(%%2 + %%1.substring(%%1.lastIndexOf("//")));
while (folderList.size() > 0) {
(new File(folderList2.peek())).mkdirs(); // 如果文件夹不存在 则建立新文件夹
File folders = new File(folderList.peek());
String[] file = folders.list();
File temp = null;
try {
for (int i = 0; i < file.length; i++) {
if (folderList.peek().endsWith(File.separator)) {
temp = new File(folderList.peek() + File.separator
+ file[i]);
} else {
temp = new File(folderList.peek() + File.separator
+ file[i]);
}
if (temp.isFile()) {
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(
folderList2.peek() + File.separator
+ (temp.getName()).toString());
byte[] b = new byte[5120];
int len;
while ((len = www.sychzs.cn(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
if (!temp.delete())
System.out.println("删除单个文件操作出错!");
}
if (temp.isDirectory()) {// 如果是子文件夹
for (File f : temp.listFiles()) {
if (f.isDirectory()) {
folderList.add(f.getPath());
folderList2.add(folderList2.peek()
+ File.separator + f.getName());
}
}
}
}
} catch (Exception e) {
// System.out.println("复制整个文件夹内容操作出错");
e.printStackTrace();
}
folderList.removeFirst();
folderList2.removeFirst();

}
File f = new File(%%1);
if (!f.delete()) {
for (File file : f.listFiles()) {
if (file.list().length == 0) {
System.out.println(file.getPath());
file.delete();
}
}
}

 

相关文章

最新资讯