详述File类

概念

File类代表一个特定的文件或者目录(即文件夹),并提供了若干方法对该文件或目录进行操作。

如何创建File类对象

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

public class Test {
	public static void main(String[] args) {
		File file =new File("F:\\Program Files (x86)");			
	}	
}

方法

1.创建文件的方法:

import java.io.File;

public class Test {

	public static void main(String[] args) {
		File file = new File("C:\\Windows\\System32\\cmd.exe");
		String path = file.getAbsolutePath();
		System.out.println(path);
		
		file = new File(new File("C:\\Windows\\System32"), "cmd.exe");
		path = file.getAbsolutePath();
		System.out.println(path);
		
		file = new File("C:\\Windows\\System32", "cmd.exe");
		path = file.getAbsolutePath();
		System.out.println(path);
	}
}

2.创建文件夹的方法:

import java.io.File;

public class Test {

	public static void main(String[] args) {
		File file = new File("C:\\Windows\\System32");
		String path = file.getAbsolutePath();
		System.out.println(path);
		
		file = new File(new File("C:\\Windows"), "System32");
		path = file.getAbsolutePath();
		System.out.println(path);
		
		file = new File("C:\\Windows", "System32");
		path = file.getAbsolutePath();
		System.out.println(path);
	}
}

3.String getName():返回此对象表示的文件目录最后一级文件夹名称

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

public class Test {
	public static void main(String[] args) {
		File file =new File(new File("F:\\\\兴唐java课件\\\\1、第一阶段\\\\01、Java基础(语法)\\\\"),"01 初识Java");
		System.out.println(file.getName());
	}	
}

结果:

01 初识Java

4.String getParent():返回此File对象的父目录路径名;如果此路径名没有指定父目录,则返回 null

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

public class Test {
	public static void main(String[] args) {
		File file =new File("F:\\兴唐java课件\\1、第一阶段\\01、Java基础(语法)\\","01 初识Java");
		System.out.println(file.getParent());
	}	
}

结果:

F:\兴唐java课件\1、第一阶段\01、Java基础(语法)

5.String getPath() :返回File对象所表示的字符串路径

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

public class Test {
	public static void main(String[] args) {
		File file =new File("F:\\兴唐java课件\\1、第一阶段\\01、Java基础(语法)\\","01 初识Java");
		System.out.println(file.getPath());
	}	
}

结果:

F:\兴唐java课件\1、第一阶段\01、Java基础(语法)\01 初识Java

6.boolean renameTo(File dest):重新命名此File对象表示的文件,重命名成功返回true,否则返回false

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

public class Test {
	public static void main(String[] args) {			
		File file =new File("F:\\uhf\\bhlra\\oua");
		if(file.renameTo(new File("F:\\uhf\\bhlra\\srht"))) {
			System.out.println("guaieif");
		}
	}	
}

结果:

guaieif

 

7.boolean mkdir():创建此File类对象指定的目录,不包含父目录。创建成功回true,否则返回false

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

public class Test {
	public static void main(String[] args) {			
		if(new File("F:\\ygue").mkdir()) {
		System.out.println("yes");
		}
		if(new File("F:\\sdf\\uif").mkdir()) {
			System.err.println("yes");
		}else {
			System.err.println("no");
		}
	}	
}

结果:

yes
no

8.boolean mkdirs():创建此File对象指定的目录,包括所有必需但不存在的父目录,创建成功返回true;否则返回false。注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。

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

public class Test {
	public static void main(String[] args) {		
		if(new File("F:\\uhf\\bhlra\\oua").mkdirs()) {
			System.out.println("yes");
		}
	}	
}

结果:

yes

 

 

9.boolean createNewFile():如果指定的文件不存在并成功地创建,则返回 true;如果指定的文件已经存在,则返回 false如果所创建文件所在目录不存在则创建失败并出现IOException异常

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

public class Test {
	public static void main(String[] args) {			
		try {
			if(new File("F:\\c.doc").createNewFile()) {
				System.out.println("aett");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}			
		if(new File("F:\\c.doc").delete()) {
			System.out.println("etuhn");
		}
	}	
}

结果:

aett
etuhn

10.boolean exists():判断文件目录是否存在

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

public class Test {
	public static void main(String[] args) {			
		if(new File("F:\\").exists()) {
			System.out.println("etuhn");
		}
	}	
}

结果:

etuhn

11.boolean delete():删除File类对象表示的目录文件。如果该对象表示一个目录,则该目录必须为空才能删除;文件或目录删除成功返回true,否则false

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

public class Test {
	public static void main(String[] args) {			
		try {
			if(new File("F:\\c.doc").createNewFile()) {
				System.out.println("aett");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}			
		if(new File("F:\\c.doc").delete()) {
			System.out.println("etuhn");
		}
	}	
}

结果:

aett
etuhn

12.boolean isDirectory():判断此File对象代表的路径表示是不是目录,只有File对象代表路径存在是一个目录时才返回true,否则返回false

import java.io.File;

public class Test {

	public static void main(String[] args) {
		File file = new File("C:\\Program Files");
		System.out.println(file.isDirectory());//返回true
	}
}

结果:

true

13.boolean isFile():判断此File对象代表的路径是否是一个标准文件,只有File对代表路径存在是一个标准文件时才返回true,否则返回false

import java.io.File;

public class Test {

	public static void main(String[] args) {
		File file = new File("C:\\Windows\\System32\\cmd.exe");
		System.out.println(file.isFile());//返回true
	}
}

结果:

true

14.String[] list():返回由File对象对应目录所包含文件名文件夹名组成的字符串数组。

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

public class Test {
	public static void main(String[] args) {			
		String [] names =new File("F:\\").list();
		for (String string : names) {
			System.out.println(string);
		}
	}	
}

结果:

$RECYCLE.BIN
360压缩
3dmax
ARCGIS 10.2
CAD
CodeBlooks
default
eclipse
Editpuls
FLASH
help
idea
KDubaSoftDownloads
mapinfo
notepad
Program Files (x86)
PS
Python
QQ
supermap
System Volume Information
VS2017
Windows Kits
WPS
XMIND
兴唐java课件
内网通
央视音影
屏幕录像专家
微信
搜狗输入法
新建文件夹
河南工业大学上网客户端
浏览器
淘宝旺旺
百度网盘
网易云音乐
网易邮箱大师
腾讯视频
金山打字通
金山毒霸

 

15.File[] listFiles():返回由当前File对象对应目录所包含文件路径或文件夹路径组成的File类型的数组。

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

public class Test {
	public static void main(String[] args) {			
		File[] files =new File("F:\\").listFiles();
		for (File file1 : files) {
			System.out.println(file1);
		}
	}	
}

结果:

F:\$RECYCLE.BIN
F:\360压缩
F:\3dmax
F:\ARCGIS 10.2
F:\CAD
F:\CodeBlooks
F:\default
F:\eclipse
F:\Editpuls
F:\FLASH
F:\help
F:\idea
F:\KDubaSoftDownloads
F:\mapinfo
F:\notepad
F:\Program Files (x86)
F:\PS
F:\Python
F:\QQ
F:\supermap
F:\System Volume Information
F:\VS2017
F:\Windows Kits
F:\WPS
F:\XMIND
F:\兴唐java课件
F:\内网通
F:\央视音影
F:\屏幕录像专家
F:\微信
F:\搜狗输入法
F:\新建文件夹
F:\河南工业大学上网客户端
F:\浏览器
F:\淘宝旺旺
F:\百度网盘
F:\网易云音乐
F:\网易邮箱大师
F:\腾讯视频
F:\金山打字通
F:\金山毒霸

16.static separator:指定文件或目录路径时使用斜线或反斜线来写,但是考虑到跨平台,斜线反斜线最好使用File类的separator属性来表示:

import java.io.File;

public class Test {

	public static void main(String[] args) {
		File file = new File("C:"+File.separator+"Windows"+File.separator+"System32");
		System.out.println(file.getPath());//输出C:\Windows\System32
	}
}

结果:

C:\Windows\System32

17.

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

public class Test {
	public static void main(String[] args) {
		File file =new File("F:\\兴唐java课件\\1、第一阶段\\01、Java基础(语法)\\","01 初识Java");
		System.out.println(file.getParentFile());
		System.out.println(file.getParentFile().getPath());
	}	
}

结果:

F:\兴唐java课件\1、第一阶段\01、Java基础(语法)
F:\兴唐java课件\1、第一阶段\01、Java基础(语法)

绝对路径与相对路径

绝对路径:从盘符开始的路径。

相对路径:从当前路径开始的路径。

./ 代表同级目录

../ 代表一级上级目录(间隔一个目录)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涟涟涟涟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值