Java文件File

File

构造方法

package gdpu;

import java.io.File;

public class FileDemo1 {

	public static void main(String[] args) {
		// public File(String pathname)
		//通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例
		//文件没有生成
		File file1 = new File("F:\\zwm");

		// public File(String parent,String child)
		//
		File file2 = new File("F:\\zwm", "file.txt");
		
		//
		File
	}

}
方法
1.创建目录

public class FileDemo2 {

	public static void main(String[] args) {
		
		File file1 = new File("F:\\zwm\\gdpu");
		//mkdir()	不存在->创建目录,存在->创建目录	
		System.out.println("创建目录" + file1.mkdir());
	}

}

2.创建多级目录
public class FileDemo2 {

	public static void main(String[] args) {
		File file3 = new File("F:\\zwm\\gdpu\\gdpu2");
		System.out.println("创建文件" + file3.mkdirs());

	}

}

3.创建文件
public class FileDemo2 {

	public static void main(String[] args) {

		File file2 = new File("F:\\zwm\\gdpu\\File1.txt");
		try {
		//createNewFile()  不存在->创建,存在-.不创建
			System.out.println("创建文件" + file2.createNewFile());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}
4.删除文件或目录
public class FileDemo3 {

	public static void main(String[] args) {
		File file1 = new File("F:\\zwm\\gdpu\\File1.txt");
		System.out.println("删除文件" + file1.delete());

		// 相对路径
		File file3 = new File("cn\\edu\\gdpu");
		System.out.println("创建目录");
		file3.mkdirs();

		File file4 = new File("cn");//当前项目的根目录下
		System.out.println("删除多级目录" + file4.delete());
		//删除多级目录只能一级一级删,可以用循环删多级
	}

}
5.更改文件名
public class FileRename {

	public static void main(String[] args) {
		File file1 = new File("F:\\zwm\\gdpu\\File1.txt");	//源文件
		File file2 = new File("F:\\zwm\\gdpu\\FileRename.txt");//更名
		System.out.println("重命名" + file1.renameTo(file2));
	}

}
6.剪切
public class FileRename {

	public static void main(String[] args) {
		/*
		 * 
		 * 更名前的和更名后相同目录,如果不在同一目录相当于剪切
		 * 
		 * 
		 * */
		File file1 = new File("1.jpg"); // 源文件
		File file2 = new File("e:\\1.jpg");// 更名
		System.out.println("重命名" + file1.renameTo(file2));
	}

}
7.判断属性

/*
 * isDirectory()	是文件夹?
 * isFile()			是文件?
 * isHidden()		隐藏了吗?
 * 
 */
public class FileJudge {

	public static void main(String[] args) {
		File file2 = new File("F:\\zwm", "gdpu");

		System.out.println("是文件夹吗?:" + file2.isDirectory());

		System.out.println("是文件?:" + file2.isFile());

		System.out.println("存在吗?:" + file2.exists());
	}

}
8.路径
//String[] list()
//返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
public class FileHighGet {

	public static void main(String[] args) {
		File file1 = new File("F:\\zwm");
		String[] strArr = file1.list();// 返回具体的目录
		for (String s : strArr) {
			System.out.println(s);
		}
		System.out.println("**********");
		File[] strArr2 = file1.listFiles();
		for (File s2 : strArr2) {
			System.out.println(s2);// 返回目录的路径
			System.out.println(s2.getName());// getName()返回文件或目录的名称,如果路径名名称序列为空,则返回空字符串。
		}
	}

}

Outer:
ColorUI-master (1)	//返回String
Develop
QQfile
wordpress-5.2.4-zh_CN
个人文件
卸载服务.CMD
微信文件备份
相片备份
视频
计导网站
资源
音乐
**********
F:\zwm\ColorUI-master (1)	//System.out.println(s2); 返回目录的路径
ColorUI-master (1)		//System.out.println(s2.getName()); getName()返回文件或目录的名称
F:\zwm\Develop
Develop
F:\zwm\QQfile
QQfile
F:\zwm\wordpress-5.2.4-zh_CN
wordpress-5.2.4-zh_CN
F:\zwm\个人文件
个人文件
F:\zwm\卸载服务.CMD
卸载服务.CMD
F:\zwm\微信文件备份
微信文件备份
F:\zwm\相片备份
相片备份
F:\zwm\视频
视频
F:\zwm\计导网站
计导网站
F:\zwm\资源
资源
F:\zwm\音乐
音乐

作业
寻找D盘下的所有java文件,用递归和非递归两种方法

思路:使用list将目录储存起来,在逐个遍历list里面的目录,如果是目录又将加入list,不是目录,判断是否是java文件

非递归

package homework;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class NotRecursion {

	public static void main(String[] args) {
		File file = new File("D:\\JavaFile");
		List<File> list = new ArrayList<File>();
		if (file.isDirectory()) {
			list.add(file);
		} else if (file.isFile() && file.getName().endsWith(".java")) {
			System.out.println(file);
		}

		while (!list.isEmpty()) {
			File file2 = list.remove(0);
			File[] fileArr = file2.listFiles();
			for (int i = 0; i < fileArr.length; i++) {
				if (fileArr[i].isDirectory()) { // 如果是目录,加入list
					list.add(fileArr[i]);
				} else if (fileArr[i].isFile() && fileArr[i].getName().endsWith(".java")) {
					System.out.println(fileArr[i]);
				}
			}
		}
	}

}

递归

package homework;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class recursion {

	public static void main(String[] args) {
		File file = new File("D:\\JavaFile");
		recursionFind rf = new recursionFind();
		rf.Find(file);
	}
}

class recursionFind {
	List<File> list = new ArrayList<File>();

	public File Find(File path) {

		File[] fileArr = path.listFiles();
		for (File f : fileArr) {
			if (f.isDirectory()) {
				list.add(f);
			} else if (f.isFile() && f.getName().endsWith(".java")) {
				System.out.println(f);
			}
		}
		if (!list.isEmpty()) {
			return new recursionFind().Find(list.remove(0));
		}
		return path;
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值