java IO流(File对象)

*一.构造方法与字段
 * 1.用于将文件或者文件夹封装成对象
 * 2.方便对文件或者文件的属性进行操作
 * 3.File对象可以作为参数传递给流的构造函数
 * 4.File类的构造函数
 * (1)File(File parent,String child);
 * (2)File(String pathname);
 * (3)File(String parent,String child);
 * (4)File(URL url);
 * 5.字段摘要
 * (1)separatorChar:与系统有关的默认名称分隔符,在UNIX系统上值为'/'在windows上为'\\'
 * (2)separator:返回类型为字符串类型,也是名称分隔符
 * (3)pathseparatorChar:与系统有关的路径分隔符,在UNIX上为':'在windows上为';'(在配置path时的';'就是路径分隔符)

*6.

public class File对象 {
	public static void main(String[]args) {
		Constructdemo();
	}
	public static void Constructdemo(){
		//将一个已存在的或不存在的文件或者目录封装成对象
		File file1=new File("in.txt");
		//
		File file2=new File("c:"+File.separatorChar,"a.txt");
		
		File file3=new File("c:"+File.separatorChar);
		File file4=new File(file3,"in.txt");
	}
	
  }

*二,File类具体操作
 * 1.获取
 * (1).获取文件名称
 * (2).获取文件路径
 * (3).获取文件大小
 * (4).获取文件的修改时间
 * (5)代码 

public class File对象{
	public static void main(String []args) throws IOException {
		File file=new File("in.txt");
		//File对象名称
		String name=file.getName();
		System.out.println(name);
		//绝对路径
		String path1=file.getAbsolutePath();
		System.out.println(path1);
		//相对路径
		String path2=file.getPath();
		System.out.println(path2);
	   //*aa.txt
       // *E:\eclipse java源文件\Study\aa.txt
       //  *aa.txt
	
	    //文件大小
	    long len1=file.length();
	    System.out.println(len1);
	    //最后一次修改时间,
	    long time=file.lastModified();
	    System.out.println(new Date(time));
	}
  }

2.创建和删除

public class File对象{
	public static void main(String []args) throws IOException {
		//如果文件不存在也不会创建文件,存在则对源文件没有任何影响
		File newfile=new File("test.txt");
		//判断是否创建新文件
		System.out.println(newfile.createNewFile());
		//删除文件
		System.out.println(newfile.delete());
		
		//创建多级目录
		File dir=new File("aaaaaaaaa\\b\\d");
		dir.mkdirs();
		System.out.println(dir.createNewFile());
		//dir对象封装的是文件夹d
		System.out.println(dir.delete());
	}
  }

3.判断]

public class File对象{
	public static void main(String []args) throws IOException{
		File file=new File("hahhahahha.txt");
		//判断文件是否存在
		System.out.println(file.exists());
		//如果文件不存在,创建
		if(!file.exists()) {
			file.createNewFile();
		}
		//判断是否是文件,在这之前最好先判断是否是文件
		System.out.println(file.isFile());
		//判断是否是目录,在这之前最好先判断是否存在
		System.out.println(file.isDirectory());
	}
  }

 4.重命名

public class File对象{
	public static void main(String []args) throws IOException {
		//创建两个File对象
		File file1=new File("E:\\eclipse java源文件\\Study\\0.mp3");
		File file2=new File("E:\\eclipse java源文件\\9.mp3");
  //	file1.createNewFile();
  //	file2.createNewFile();
		//返回类型为布尔类型
		System.out.println(file1.renameTo(file2));
	}
  }

5.系统根目录和容量获取,以及访问目录下的内容

 public class File对象{
	public static void main(String []args) {
		File []files=File.listRoots();
		for(File i:files) {
			System.out.println(i);
		}
		File file=new File("D:\\");
		//获取d盘中的可用空间
		System.out.println(file.getFreeSpace());
		//获取所有空间的大小
		System.out.println(file.getTotalSpace());
		
		System.out.println(file.getUsableSpace());
		String []liStrings=file.list();
		//打印当前目录下所有文件名称以及隐藏文件名称
		for(String i:liStrings)
			System.out.println(i);
	}
 }

6.过滤器

public class File对象 implements FilenameFilter
{
	public static void main(String []args) {
		File file=new File("D:\\");
		String []liStrings=file.list(new File对象());
		System.out.println(liStrings.length);
		for(String i:liStrings)
			System.out.println(i);
	}

	@Override
	public boolean accept(File dir, String name) {
		// TODO Auto-generated method stub
		return name.endsWith(".zip");
	}
}

7.深度遍历文件(遍历当前文件夹下的而所有内容)

public class File对象{
	public static void main(String []args) {
		File file=new File("E:\\eclipse java源文件\\Study");
		dfs(file);
	}
	public static void dfs(File dir) {
		File []liStrings=dir.listFiles();
		System.out.print("          ");
		for(File i:liStrings) {
			System.out.println(i);
			//如果是目录,继续遍历该目录下的文件
			if(i.isDirectory())
			dfs(i);
		}
	}
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值