io操作之File类

package com.ly.io.file;

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

public class file {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		/*
		 * ile类描述的是一个文件或文件夹。(文件夹也可以称为目录)

		 * 该类的出现是对文件系统的中的文件以及文件夹进行对象的封装。可以通过对象的思想来操作文件以及文件夹。

		 * 可以用面向对象的处理问题,通过该对象的方法,可以得到文件或文件夹的信息方便了对文件与文件夹的属性信息进行操作。

		 * 文件包含很多的信息:如文件名、创建修改时间、大小、可读可写属性等。
		 * 
		 * 
		 * 
		*/
		
		File file = new File("F:/项目/io/","file.txt");
		//File file = new File("F:/项目/io/file.txt");
		
		System.out.println(file.exists());
		
		try {
			if(file.createNewFile()) {
				System.out.println(file.getName()+"创建成功");
			}else{
				System.out.println("创建失败");//该文件或目录存在时 就不会再次创建
			};
		} catch (IOException e) {
			// TODO Auto-generated catch block
			System.out.println("创建失败2");
			e.printStackTrace();
		}
		
/*		创建的file 所对应的uri地址不存在,所以exists()结果为false,然仍然成功创建了File对象,这时其代表了一个抽象路径
 * 		构建一个File类的实例并不会在机器上创建一个文件
 * 		createNewFile 创建一个文件
 * 		window路径是\\\头向左的反斜杠   而这里的uri是相反的反斜杠
 * 		在Windows中分隔符为'\',在Unix/Linux中分隔符为'/'。

		跨平台的目录分隔符

		更专业的做法是使用File.separatorChar,这个值就会根据系统得到的相应的分割符。

		例:new File("c:" + File.separatorChar + "a.txt");
 * 
		*/
		
		File  filea = new File("F:/项目/io/");
		
		File  filec = new File("F:/项目/ioo/");//抽象目录
		
		System.out.println(filea.isDirectory());
		
		System.out.println(filea.mkdirs());//目录本来存在所有并不会创建,返回false
		
		filea.delete();
		
		filec.delete();//删除抽象目录
		
		System.out.println("是否目录被删除成功?"+!filea.isDirectory());
		
		System.out.println("是否目录被删除成功?"+!filec.isDirectory());//抽象目录同样被删除成功

		
/*		isDirectory()判断路径是否存在,换句话讲是否是目录
 * 		因为   目录不为空  所以删除会失败   

		*/
		
		File fileb = new File("F:/项目/io/","readme.txt");
		File filed = new File("F:/项目/io/","readme2.txt");
		
		System.out.println(fileb.isFile());
		
		System.out.println(fileb.getName()+fileb.length());//length返回类型为long 单位为字节
		
		fileb.renameTo(filed);
		
		System.out.println(filed.getName()+filed.length());
		
/*		isFile()判断是否是文件
 * 		File对象是不可变的。 创建后它始终表示相同的路径名。当重命名文件时,旧的File对象仍然代表原始的路径名。
 * 		*/
		
		File filee = new File("F:/项目/io");
		
		
		
		
		
		File[] flist = filee.listFiles();//listFiles获取该目录下的所有文件和目录并返回一个数组
		
		for(File file1 : flist) {//枚举这个数组
			if(file1.isFile()) {
				
				System.out.println(file1.getName()+"(file)");
			}else if(file1.isDirectory()) {
				
				System.out.println(file1.getName()+"(directory)");
			}
			
		} 
		file file1 = new file();
		
		File[] filef = new File[3] ;
		
		filef[0] = filee;
	
		file1.listAllfiles(filef, "xml");
	}
	
	public void listAllfiles(File[] file,String end) {//判断该数组里的file是否有以end结尾的
		
		for(File fil:file) {
			
			String fname = fil.getName().toLowerCase();//filename都化为小写字母
			if(fname.endsWith(end)) {//判断是否以end结尾
				System.out.println(fil.getName()+"end with "+end);
			}
			
		}
		
		
	}
 
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值