*一.构造方法与字段
* 1.用于将文件或者文件夹封装成对象
* 2.方便对文件或者文件的属性进行操作
* 3.File对象可以作为参数传递给流的构造函数
* 4.File类的构造函数
* (1)File(File parent,String child);
* (2)File(String pathname);
* (3)File(String parent,String child);
* (4)File(URL url);
* 5.字段摘要
* (1)separatorChar:与系统有关的默认名称分隔符,在UNIX系统上值为'/'在windows上为'\\'
* (2)separator:返回类型为字符串类型,也是名称分隔符
* (3)pathseparatorChar:与系统有关的路径分隔符,在UNIX上为':'在windows上为';'(在配置path时的';'就是路径分隔符)
*6.
public class File对象 {
public static void main(String[]args) {
Constructdemo();
}
public static void Constructdemo(){
//将一个已存在的或不存在的文件或者目录封装成对象
File file1=new File("in.txt");
//
File file2=new File("c:"+File.separatorChar,"a.txt");
File file3=new File("c:"+File.separatorChar);
File file4=new File(file3,"in.txt");
}
}
*二,File类具体操作
* 1.获取
* (1).获取文件名称
* (2).获取文件路径
* (3).获取文件大小
* (4).获取文件的修改时间
* (5)代码
public class File对象{
public static void main(String []args) throws IOException {
File file=new File("in.txt");
//File对象名称
String name=file.getName();
System.out.println(name);
//绝对路径
String path1=file.getAbsolutePath();
System.out.println(path1);
//相对路径
String path2=file.getPath();
System.out.println(path2);
//*aa.txt
// *E:\eclipse java源文件\Study\aa.txt
// *aa.txt
//文件大小
long len1=file.length();
System.out.println(len1);
//最后一次修改时间,
long time=file.lastModified();
System.out.println(new Date(time));
}
}
2.创建和删除
public class File对象{
public static void main(String []args) throws IOException {
//如果文件不存在也不会创建文件,存在则对源文件没有任何影响
File newfile=new File("test.txt");
//判断是否创建新文件
System.out.println(newfile.createNewFile());
//删除文件
System.out.println(newfile.delete());
//创建多级目录
File dir=new File("aaaaaaaaa\\b\\d");
dir.mkdirs();
System.out.println(dir.createNewFile());
//dir对象封装的是文件夹d
System.out.println(dir.delete());
}
}
3.判断]
public class File对象{
public static void main(String []args) throws IOException{
File file=new File("hahhahahha.txt");
//判断文件是否存在
System.out.println(file.exists());
//如果文件不存在,创建
if(!file.exists()) {
file.createNewFile();
}
//判断是否是文件,在这之前最好先判断是否是文件
System.out.println(file.isFile());
//判断是否是目录,在这之前最好先判断是否存在
System.out.println(file.isDirectory());
}
}
4.重命名
public class File对象{
public static void main(String []args) throws IOException {
//创建两个File对象
File file1=new File("E:\\eclipse java源文件\\Study\\0.mp3");
File file2=new File("E:\\eclipse java源文件\\9.mp3");
// file1.createNewFile();
// file2.createNewFile();
//返回类型为布尔类型
System.out.println(file1.renameTo(file2));
}
}
5.系统根目录和容量获取,以及访问目录下的内容
public class File对象{
public static void main(String []args) {
File []files=File.listRoots();
for(File i:files) {
System.out.println(i);
}
File file=new File("D:\\");
//获取d盘中的可用空间
System.out.println(file.getFreeSpace());
//获取所有空间的大小
System.out.println(file.getTotalSpace());
System.out.println(file.getUsableSpace());
String []liStrings=file.list();
//打印当前目录下所有文件名称以及隐藏文件名称
for(String i:liStrings)
System.out.println(i);
}
}
6.过滤器
public class File对象 implements FilenameFilter
{
public static void main(String []args) {
File file=new File("D:\\");
String []liStrings=file.list(new File对象());
System.out.println(liStrings.length);
for(String i:liStrings)
System.out.println(i);
}
@Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return name.endsWith(".zip");
}
}
7.深度遍历文件(遍历当前文件夹下的而所有内容)
public class File对象{
public static void main(String []args) {
File file=new File("E:\\eclipse java源文件\\Study");
dfs(file);
}
public static void dfs(File dir) {
File []liStrings=dir.listFiles();
System.out.print(" ");
for(File i:liStrings) {
System.out.println(i);
//如果是目录,继续遍历该目录下的文件
if(i.isDirectory())
dfs(i);
}
}
}