1 遍历复制
package IOliu.Work;
import java.io.*;
public class Demo2 {
public static void main(String[] args) throws IOException {
File file1=new File("C:\\Users\\admin\\Desktop\\新建文件夹");
File file2=new File("C:\\Users\\admin\\Desktop\\新建文件夹33333");
method1(file1,file2);
}
public static void method1(File file1,File file2) throws IOException {
File[] files1 = file1.listFiles();
for (int i = 0; i < files1.length; i++) {
// String S1=file2.getPath()+"\\"+files1[i].getName();
File T1=new File(file2.getPath(),files1[i].getName());
if (files1[i].isDirectory()){
if (!T1.exists()){
T1.mkdirs();
method1(files1[i],T1);
}
}
else {
InputStream is=new FileInputStream(files1[i].getPath()); //读
File T2=new File(file2.getPath());
if (!T2.exists()){
T2.mkdirs();
}
OutputStream os=new FileOutputStream(T1);
int len;
while ((len=is.read())!=-1){
os.write(len);
}
os.close();
is.close();
}
}
}
}
2 遍历查询
package IOliu.FileExcerise;
import java.io.File;
import java.util.Arrays;
public class Demolianxi {
public static void main(String[] args) {
File file=new File("F:\\untitledxuexi");
methdo1(file);
}
public static void methdo1(File file) {
// System.out.println(file.getName()); //返回名字
// System.out.println(file.getPath()); //返回决定路径
// System.out.println(file.getParent()); //返回父路径
// System.out.println(file.isDirectory()); //文件夹
// System.out.println(file.isFile()); //判断文件
//
// // file.delete();
String[] list() 返回当前路径下所有的文件和文件夹名称
// String[] list = file.list();
// System.out.println(Arrays.toString(list));
// File[] listFiles() 返回的是一个File对象
// 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
File[] files = file.listFiles();
// System.out.println("------------------");
for (int i = 0; i < files.length; i++) {
System.out.println(" "+files[i].getName());
if (files[i].isDirectory()){
methdo1(files[i]);
}
}
}
}
查找文件夹下所有的java文件
package IOliu.FileExcerise;
import java.io.File;
/**
* 输出目录文件夹的所有java文件
*
* */
public class DemoTest {
public static void main(String[] args) {
File file=new File("F:\\untitledxuexi\\src");
method(file);
}
public static void method(File file) {
if (file.isDirectory()){
File[] listFiles=file.listFiles();
for (File f:listFiles){
//判断是否是文件对象
if (f.isFile()){
if (f.getName().endsWith(".java")){
System.out.println(f.getName());
}
}
else {
//是一个目录对象
method(f);
//利用递归
}
}
}
}
}
3 遍历删除
package IOliu.FileExcerise;
import java.io.File;
public class DemoTestremov {
public static void main(String[] args) {
}
public static void methodDelete(File file) {
if (file.isDirectory()){
File[] files=file.listFiles();
for (File f:files){
if (f.isFile()){
f.delete();
}
else if(f.isDirectory()){
methodDelete(f);
}
}
file.delete();
}
}
}