关于File的一些基本知识

package io.file;

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

/*
****************构造方法摘要
File(File parent, String child) 
          根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 
File(String pathname) 
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 
File(String parent, String child) 
          根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 
File(URI uri) 
          通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。 
****************方法摘要
exists() 
          测试此抽象路径名表示的文件或目录是否存在
getPath() 
          将此抽象路径名转换为一个路径名字符串。
getAbsolutePath() 
          返回此抽象路径名的绝对路径名字符串。          	
getName() 
          返回由此抽象路径名表示的文件或目录的名称。
length() 
          返回由此抽象路径名表示的文件的长度   
isDirectory() 
          测试此抽象路径名表示的文件是否是一个目录。
isFile() 
          测试此抽象路径名表示的文件是否是一个标准文件。
createNewFile() 
          当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件      
mkdir() 
          创建此抽象路径名指定的目录。
mkdirs() 
          创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
list() 
          返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
listFiles() 
          返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
listFiles(FilenameFilter filter) 
          返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。


*/
public class Demo3 {
	public static void main(String[] args) {
		File no1 = new File("D:/mycode", "zhangfei");
		System.out.println("no1:"+no1.getAbsolutePath()+"no1 name:"+no1.getName());
		File no2 = new File(new File("D:/mycode"), "likui");
		System.out.println("no2:"+no2.getAbsolutePath()+"no2 name:"+no2.getName());
		
		File no3 = new File("D:/mycode/1.jpg");
		System.out.println("no3:"+no3.getName());
		System.out.println("no3:"+no3.getPath());
		System.out.println("no3:"+no3.getAbsolutePath());
		
		File no4 = new File("D:/mycode/duy");
		System.out.println(no4.getName()+"是否是一个目录:"+no4.isDirectory());
		System.out.println(no4.getName()+"是否是一个标准文件:"+no4.isFile());
		System.out.println(no4.getName()+"是否存在:"+no4.exists());
		System.out.println(no4.getName()+"文件的长度:"+no4.length()+"字节");
		
		File no5 = new File("D:/mycode/duy/hello.txt");
		System.out.println(no5.getName()+"是否是一个目录:"+no5.isDirectory());
		System.out.println(no5.getName()+"是否是一个标准文件:"+no5.isFile());
		System.out.println(no5.getName()+"是否存在:"+no5.exists());
		System.out.println(no5.getName()+"文件的长度:"+no5.length()+"字节");
		
		/*创建文件*/
		File no6 = new File("D:/mycode/yan.txt");
		if(!no6.exists()) {
			try {
				no6.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}else {
			System.out.println(no6.getName()+"已存在");
		}
/*创建目录  mkdir如果没有父目录则创建不成功 mkdirs方式就一些ojbk 你写什么就给你创建什么
 * 如果文件已经存在,那么这两种方式都会返回false*/
		File no7 = new File("D:/mycode/wo/hello");
		if(no7.mkdir()) {
			System.out.println("mkdir方式创建成功");
		}else {
			System.out.println("mkdir方式创建失败");
		}
		if(no7.mkdirs()) {
			System.out.println("mkdirs方式创建成功");
		}else {
			System.out.println("mkdirs方式创建失败");
		}
		/*删除文件*/
		System.out.println(no7.getName()+"是否存在:"+no7.exists());
		boolean flag = no7.delete();
		System.out.print(no7.getName());
		System.out.println(flag ? "删除成功":"删除失败");
		System.out.println(no7.getName()+"是否存在:"+no7.exists());
		
		File no8 = new File("D:/mycode");
		System.out.println("目录中的文件和目录:");
		for (String string : no8.list()) {
			System.out.println(string);
		}
		System.out.println("目录中的文件:");
		for (File file : no8.listFiles()) {
			System.out.println(file);
		}
		//添加文件名过滤器
		File no9 = new File("D:/mycode");
		File[] subFiles = no9.listFiles(new FilenameFilter() {
			//dir 代表 no9 ——> D:/mycode
			@Override
			public boolean accept(File dir, String name) {
				// TODO 自动生成的方法存根
				System.out.println("dir:::::::::::::"+dir);
				return new File(dir,name).isFile() && name.endsWith(".java");
				//必须是文件 而且 结尾是.java
			}
		});
		System.out.println("过滤:");
		for (File file : subFiles) {
			System.out.println(file.getAbsolutePath());
		}
		
	}
}

猜你喜欢

转载自blog.csdn.net/aipanyu/article/details/81742768
今日推荐