一 File类概述
1 File在java.io包下(只有lang包下的不用导包)
2 主要用于文件和目录(文件夹)的创建、查找和删除等操作
3 File类的对象是文件和目录路径名的抽象表示形式
(即File类的对象代表一个文件或一个目录的路径,而不是文件本身,所以 file类只能对文件本身进行操作不能对文件内容进行操作。)
4 不能读写文件内容本身,要想读写,使用io流
二 构造方法
1 File(String path):通过path给定路径名字符串创建File对象
-
路径名可以是相对路径也可以是绝对路径
- 创建file对象只是把字符串路径封装为File对象,不考虑路径的真假情况,不会去真正创建这个文件
2 File(String parent , String child):根据父级路径和子级路径创建File对象
3 File(File parent , String child)
三 File类常用方法:
1. 创建删除功能(返回值为boole)
(1)createNewFile():当且仅当具有该名称的文件尚不存在————创建文件,并返回true(真实的创建)
(2)mkdir():只能创建一级目录 如:abc\xyz.txt
(3)mkdirs():可创建多级目录 如:\a\b\c
(4)delete():删除文件或空文件夹(目录)这个删除是不可逆的
(5)String renameTo(File newName):将当前文件名更名为给定文件的完整路径
2. 判断功能
(1)exists():此File表示的文件或目录是否实际存在
(2)isDirectory():此File表示的是否是目录
(3)isFile():此File表示的是否是文件
3. 获取功能
(1)getAbsolutePath():返回此File的绝对路径名字符串
(2)getPath():将此File路径转换为路径名字符串
(3)getName():返回此File表示的文件或目录的名称(不返回路径)
(4)length():返回此File表示的文件长度(一个汉字两个字节)
(5)getParent():获取它的上一级目录名
4. File类的遍历(返回值是String[]类型的)
(1)public String[] **list**():用String数组返回此目录下的所有子文件或目录*//输出文件名*
(2)public File[] **listFiles**():用File数组返回此目录下的所有子文件或目录*//输出路径名*
5. 普通文件信息
(1)long lastModified():得到文件最近一次修改的时间
(2)long length():得到文件的长度,以字节为单位
其他概念
相对路径:简化的路径,相对当前项目下的路径。(放在Java文件相同的位置里)
绝对路径:完整的路径,从盘符开始写
代码
示例 1: 不同构造方法的获取功能区别
File file=new File("D:\\abc","abc.txt");
sout(file); // D:\abc\abc.txt
sout(file.getAbsolutePath());// D:\abc\abc.txt
sout(file.getPath());// \abc\abc.txt
sout(file.getName())// abc.txt
sout(file.length())// 0(因为构造出来的是虚拟的)
File file=new File("xyz.txt");
sout(file); // syz.txt
sout(file.getAbsolutePath());// D:\code\jisuanji\xyz.txt
sout(file.getPath());// xyz.txt
sout(file.getName())// xyz.txt
小结:
-
getAbsolutePath()
若File定义了目录路径,则输出定义的内容;未定义目录路径,则输出此项目所在的盘符:\项目名\文件名
- getPath()
定义File时写了什么就输出什么
示例2 : 多级目录
File file=new File("d:\\a\\b\\xyz.txt");
sout(file.mkdir());// false
因为mkdir()只能创建一级目录
示例3:是文件还是目录
File file=new File("xyz.txt");
file.mkdirs();
sout(file.isDirectory());// true
sout(file.isFile());// false
小结:
File类是抽象的表示,所以File是文件还是目录取决于用什么方法
示例4:遍历
1
File file1=new File("D:\\code2");
String[] lfile=file1.list();
for (int i = 0; i <list.length ; i++)
{sout(file[i]);}
//.idea
daily
JavaSE
untitled
2
File file1=new File("D:\\code2");
File[] files=file1.listFiles();
for (int i = 0; i <files.length ; i++)
{sout(files[i]); }
//D:\code2\.idea
D:\code2\daily
D:\code2\JavaSE
D:\code2\untitled
标签:文件,File,sout,file,txt,目录 From: https://www.cnblogs.com/Sco-/p/16990037.html