IO之File类

学习IO最基础的就是学FIle类,学file类以下几个操作一定得知道

1.获取文件路径信息

    /**
	 * 获取文件路径信息
	 */
	public static void getPath() {
		// 建立 file 类与系统的联系
		//		new File("D:/zzq/zzq.txt"); => 绝对路径
		//		new File("zzq/zzq.txt"); => 相对路径
		
		File file = new File("zzq.txt");
		
		//返回名称
		System.out.println( file.getName() );
		
		//如果是绝对路径,则返回绝对路径,如果是相对路径,则返回相对路径
		System.out.println( file.getPath() );
		
		//返回上一级目录,如果是相对路径,且该文件为一级目录,则返回 null
		System.out.println( file.getParent() );
		
	}

2.获取文件基本信息

	/**
	 * 获取文件信息
	 */
	public static void getInfo() {
		
		File file = new File("db.properties");
		
		// 存在则为 true,不存在就为  false
		System.out.println( "是否为存在:" + file.exists() );
		
		// 目录则为 true,文件则为 false
		System.out.println( "是否为文件夹:" + file.isDirectory() );
		
		// 文件则为true,目录则为 false
		System.out.println( "是否为文件:" + file.isFile() );
		
		// 可读则为true
		System.out.println( "是否可读:" + file.canRead() );
		
		// 可写则为true
		System.out.println( "是否可写:" + file.canWrite() );
		
		// 绝对路径则为true
		System.out.println( "是否为绝对路径:" + file.isAbsolute() );
		
		// 文件长度,当为文件夹时返回 0
		System.out.println( "该文件长度:" + file.length() );
		
		
	}

3,操作文件,如代码所示,show code

	/**
	 * 文件的操作
	 * @throws IOException 
	 * @throws InterruptedException 
	 */
	/**
	 * @throws IOException
	 * @throws InterruptedException
	 */
	public static void operat() throws IOException, InterruptedException {
		String path = "D:/file/webupload/";
		File file = new File( path + "zzq.txt");
		System.out.println( file.getAbsolutePath() );
		// 判断其父级目录是否存在,不存在则创建
		if( ! new File(file.getParent()).exists() ) {
			//创建文件夹
			// 	mkdir 与 mkdirs 的区别
			//		mkdir 创建目录的时候父目录如果不存在则创建失败
			//		mkdirs 创建目录的时候就不会有这个问题,mkdirs 默认创建文件夹
			new File(file.getParent()).mkdirs();
		}
		
		System.out.println( file.getAbsolutePath() );
		
		try {
			// 创建文件
			file.createNewFile();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		// 删除文件,返回 true or false
		file.delete();
		
		// 建立缓存文件
		File.createTempFile("tem", ".jpg" );
	
		// 测试当路径为相对路径的时候,.list(),.listFile() 获取不到值
		File file2 = new File("");
		file2 = new File( file2.getAbsolutePath() );
		
		// 获取该路径下的所有文件/文件夹 的名字
		String[] list = file2.list();
		for (String string : list) {
			System.out.println( string );
		}
		
		// 获取该路径下的所有文件及文件对象
		File[] listFiles = file2.listFiles();
		for (File file3 : listFiles) {
			System.out.println( file3.getName() );
		}
		
		// 文件名称过滤
		File[] file3 = file2.listFiles(new FilenameFilter() {
			
			@Override
			public boolean accept(File dir, String name) {
				
				// 输出名字里面带 b 而且为文件的 文件
				return  new File(dir, name).isFile() && name.indexOf("b")!=-1;
			}
		});
		
		System.out.println("过滤后的文件");
		// 过滤后的文件
		for (File file4 : file3) {
			System.out.println( file4.getName() );
		}
		
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值