File类常用方法总结(有待补充)

File类代表一个特定的文件或者目录,并提供了若干方法对该文件或目录进行操作。
File类构造方法
File类常用方法总结(有待补充)_第1张图片
分别使用三种构造方法创建对象如下

File file=new File("F:\\yunwendang\\t.txt");
if(file.isFile()) {
	System.out.println("OK");		
}else {
	System.out.println("No");
}
		
file=new File("F:\\yunwendang","t.txt");
if(file.isFile()) {
	System.out.println("OK");		
}else {
	System.out.println("No");
}
		
file=new File(new File("F:\\yunwendang"),"t.txt");
if(file.isFile()) {
	System.out.println("OK");
}else {
	System.out.println("No");
}													

需要说明的是:首先 File 类是对文件系统的映射 并不是硬盘上真实的文件
所以 new File(“xxx.xxx”) 只是在内存中创建File文件映射对象,而并不会在硬盘中创建文件

更改文件名

//将文件名更改为UUID,保留文件格式
File file=new File(new File("F:\\yunwendang"),"t.txt");
System.out.println(file.getName());
String name=file.getName();
name=name.substring(name.lastIndexOf("."));
name=UUID.randomUUID().toString()+name;
if(file.renameTo(new File("F:\\yunwendang",name))) {
	.out.println("yes");
}

创建文件夹

/*此处简写,注意对象不同的问题
mkdir()只能创建一级文件夹
mkdirs()可以创建多级文件夹
方法返回布尔类型
*/
System.out.println(new File("F:\\yun").mkdir());
System.out.println(new File("F:\\yu\\a").mkdir());
System.out.println(new File("F:\\yu\\a").mkdirs());

创建文件

//createNewFile()方法返回布尔类型
try {
	file=new File("F:\\a.txt");
	System.out.println("创建文件"+file.createNewFile());
} catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

判断是否存在

//new File("F:\\a.txt").exists()这种写法会新创建一个对象,必然返回true
System.out.println("是否存在"+new File("F:\\a.txt").exists());

删除文件/文件夹

//如果是删除文件夹,则文件夹必须是空文件夹
System.out.println("删除文件或者空文件夹"+file.delete());
//如果使用new File("F:\\a.txt").delete()这种方式则删除失败,会新创建对象,类比集合中的remove

遍历目录

//区分两种方式的不同
file=new File("F:\\workSpace");
String []names=file.list();  //使用String类对象去映射文件名
for(String nam:names) {
	System.out.println(nam);
}		
System.out.println("~~~~~~~~~~");
File []files=file.listFiles();  //使用File类对象去映射文件名
for(File f:files) {
	System.out.println(f.getName());  //getName又输出了String类型
}

考虑到程序的跨平台性(动态变化,File.separator)

//不同系统在声明文件路径的时候,使用的正反斜线不同,考虑到程序的跨平台性,使用File.separator代替正反斜线

绝对路径/相对路径

一个点 ./代表同级
两个点 ../上一级
向上多级  ../拼接

//有待补充

你可能感兴趣的:(IO)