JAVA基础之File

一、File类定义

  1. File类主要是JAVA为文件这块的操作(如删除、新增等)而设计的相关类

  2. File类的包名是java.io,其实现了Serializable, Comparable两大接口以便于其对象可序列化和比较

二、代码示例
1.简单介绍

import java.io.File;
import java.io.IOException;

public class FileDemo {
	public static void main(String[] args) throws IOException {
		// 创建文件对象 构造方法的参数传入的是路径
		// 仅仅将路径和file对象进行了关联,但是没有创建对应的文件或者文件夹
		File file = new File("F:\\a.txt");
		// 只是创建新的文件,并不能创建目录
		// 如果没有文件就去创建,如果有文件就不创建
		// 并没有创建新的文件去覆盖旧的文件
		file.createNewFile();
		// 创建目录
		file.mkdirs();
		// 删除文件/目录  是永久删除!!!
		// 目录中如果有内容,不能直接删除
		file.delete();
		
		
		// File[] 路径中所有的内容
		// 获取路径中所有的文件和目录
		File[] files = file.listFiles();
		for (File f : files) {
			System.out.println(f);
		}
		System.out.println(file);
		
		
	}
}
import java.io.File;
import java.io.IOException;

public class FileDemo02 {
	public static void main(String[] args) throws IOException {
		File file = new File("F:\\");
//		file.createNewFile();
//		System.out.println(file.getAbsolutePath());
		// 可用空间
		System.out.println(file.getFreeSpace());
		// 总容量
		System.out.println(file.getTotalSpace());
		// 可用空间
		System.out.println(file.getUsableSpace());
//		System.out.println(file.canWrite());
//		System.out.println(file.exists());
		
	}
}

2.demo示例

①删除一个目录中的所有内容

import java.io.File;

public class FilePractice {
	public static void main(String[] args) {
//		删除一个目录中的所有内容
		// 关联目录
		File file = new File("F:\\jdk1.9");
		del(file);
	}
	
	// 递归去删除文件和目录
	public static void del(File file){
		if (file.isDirectory()){// 目录
			// 获取所有的目录和文件
			File[] files = file.listFiles();
			for (File f : files) {
				del(f);	//   递归时传入的是f
			}
		}
		
		file.delete();
	}
}

②统计所有的.java和.class文件的个数

import java.io.File;

public class FilePractice01 {
	
	static int javaCount = 0;
	static int classCount = 0;
	public static void main(String[] args) {
		// 统计所有的.java和.class文件的个数
		File file = new File("F:\\workspace");
		count(file);
		System.out.println("java文件的个数是"+javaCount);
		System.out.println("class文件的个数是"+classCount);
	}
	
	// 通过递归获取每一个文件和目录,
	// 统计.java和.class的个数
	public static void count(File file){
		if (file.isDirectory()){
			// 获取所有的文件和目录
			File[] files = file.listFiles();
			for (File f : files) {
				count(f);	//   递归时传入的是f
			}
		}else if(file.getName().endsWith(".java")){
			javaCount++;
		}else if(file.getName().endsWith(".class")){
			classCount++;
		}
	}
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值