Java 文件

java.io.File:类
      文件和目录  路径名的抽象表示形式。
      通俗的讲:File类的对象代表一个文件或一个目录(文件夹)
  
  1、路径的分隔符:
       windows:\ 和  /
       其他平台:/ 
   网络地址:http://www.baidu.com/index.html
   现在写路径分隔符:(1)/(2)File.separator
  
  2、API
  (1)获取文件或目录的详细信息
  getName()
  long length():只能返回文件的大小,不能直接返回目录的大小
              文件夹的总大小 = 文件夹里面的所有的文件大小累加和
  isHidden()
  exist()
  canRead()
  canWrite()
 long lastModified()
  
  (2)获取文件或目录的路径
  getPath()
  getAbsolutePath()
  getCanonicalPath()
  
  (3)创建、删除、重命名
  createNewFile():只能创建文件
  mkdir():只能创建一级目录
  mkdirs():创建多级目录
  
  delete():可以删除文件
              可以删除空目录
  
  renameTo(File dest):可以给文件或目录重命名
  
  (4)判断是文件还是目录
  isDirectory():是存在的一个文件夹,返回true
  isFile():是存在的一个文件,返回true
  
  (5)不存在的一个文件或目录
  你获取它的name,path这些是有值,因为这些属性是通过构造器创建File时指定的。
  而其他的属性都是默认值。
  
  数组:length属性
  String:length()
  文件:length()

 

 

文件或目录过滤器:
 

/*
 * 文件或目录过滤器
 * File类中
 * File[]  listFiles(FileFilter f)
 */
public class Test03 {
	@Test
	public void test01(){
		//列出D:\atguigu\javaee\JavaSE20190513\code\day01_code目录下的所有的.java文件
		File dir = new File("D:/atguigu/javaee/JavaSE20190513/code/day01_code");
		File[] listFiles = dir.listFiles(new FileFilter() {
			
			//File pathname表示dir这个目录的下一级的每一个文件或目录
			//这个方法返回true,说明要保留的
			@Override
			public boolean accept(File pathname) {
				return pathname.getName().endsWith(".java");
			}
		});
		
		for (File file : listFiles) {
			System.out.println(file);
		}
	}
	
	@Test
	public void test02(){
		//列出D:\atguigu\javaee\JavaSE20190513\code\day01_code目录下的所有的.java文件
		//并源文件名中包含Test这个单词
		File dir = new File("D:/atguigu/javaee/JavaSE20190513/code/day01_code");
		File[] listFiles = dir.listFiles(new FileFilter() {
			
			//File pathname表示dir这个目录的下一级的每一个文件或目录
			//这个方法返回true,说明要保留的
			@Override
			public boolean accept(File pathname) {
				return pathname.getName().endsWith(".java") && pathname.getName().contains("Test");
			}
		});
		
		for (File file : listFiles) {
			System.out.println(file);
		}
	}
	
	@Test
	public void test03(){
		//列出D:\atguigu\javaee\JavaSE20190513\code\day01_code目录下的所有的文件名的长度超过10个字符的
		File dir = new File("D:/atguigu/javaee/JavaSE20190513/code/day01_code");
		File[] listFiles = dir.listFiles(new FileFilter() {
			
			//File pathname表示dir这个目录的下一级的每一个文件或目录
			//这个方法返回true,说明要保留的
			@Override
			public boolean accept(File pathname) {
				return pathname.getName().length()>10;
			}
		});
		
		for (File file : listFiles) {
			System.out.println(file);
		}
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值