file
File 类是 java.io 包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件名、 文件路径、访问权限和修改日期等,还可以浏览子目录层次结构。
下面展示一些 内联代码片
。
/*
* file 类
*
* 创建一个文件/文件夹
* 删除一个文件/文件夹
* 获取一个文件/文件夹
* 判断文件或者文件夹
* 对文件进行遍历
* 获取文件大小
*
* File 是一个与操作系统无关的类
*
* 记住三个单词:
* file: 文件
* directory: 目录、文件夹
* path:路径
*
*
*/
package demo01;
import java.io.File;
import java.io.IOException;
public class Demo01File {
public static void main(String[] args) throws IOException {
//路径分隔符
String pathSeparator= File.pathSeparator;
System.out.println(pathSeparator); //win 是 分号;linux :冒号
String separator=File.separator;
System.out.println(separator);//文件名称分隔符 \ linux:/root/home/
//绝对路径c:\Users\admin\Desktop\HBuilderX
//相对路径../../
//构造方法演示
//show01();
show02("D:\\rxp\\java","test");
//show03();
//常用方法演示
//show04();
show05();
show06();
show07();
//show08();
//show09();
//show10();
//show11();
show12();
}
private static void show12() {
//如果路径不存在,直接返回false
File f1=new File("D:\\rxp\\java\\20\\day20_code\\hello.java");
boolean b1=f1.delete();
System.out.println(b1);
//直接从硬盘删除,不会放入回收站
File f2=new File("rxp");
boolean b2 =f2.delete();
System.out.println(b2);
}
private static void show11() {
File f1=new File("D:\\rxp\\java\\20\\day20_code\\hello.java");
boolean b1 =f1.mkdir();//只能创建一个文件夹
System.out.println(b1);
File f2=new File("D:\\rxp\\java\\20\\day20_code\\11\\22\\33\\hello.java");
boolean b2 =f2.mkdirs();
System.out.println(b2);
}
private static void show10() throws IOException {
File f1=new File("D:\\rxp\\java\\20\\day20_code\\hello.java");
boolean b1=f1.createNewFile();
System.out.println(b1);
//第二次执行的时候返回 false 因为文件 已经存在
File f2=new File("D:\\rxp\\java\\20\\day20_code\\新建文件夹");
boolean b2=f2.createNewFile();
System.out.println(b2);
}
private static void show09() {
File f1=new File("D:\\rxp\\java\\20\\day20_code");
if(f1.exists()){//
System.out.println(f1.isDirectory());
System.out.println(f1.isFile());}
System.out.println("=============================");
if(f1.exists()){
File f2=new File("D:\\rxp\\java\\20\\day20_code\\classfive");
System.out.println(f2.isDirectory());
System.out.println(f2.isFile());}
System.out.println("=============================");
if(f1.exists()){
File f3=new File("D:\\rxp\\java\\20\\day20_code\\.classpath");
System.out.println(f3.isDirectory());//false
System.out.println(f3.isFile());}//ture
}
private static void show08() {
File f1=new File("D:\\rxp\\java\\20\\day20_code");
System.out.println(f1.exists());//true
File f2=new File("D:\\rxp\\java\\20\\day20_code\\classfive");
System.out.println(f2.exists());//false
File f3=new File("D:\\rxp\\java\\20\\day20_code\\.classpath");
System.out.println(f3.exists());
File f4=new File("D:\\rxp\\java\\20\\day20_code\\hello.java");
System.out.println(f4.exists());
}
//注意 文件夹没有大小的概念,不能获取文件夹的大小
private static void show07() {
File f1=new File("D:\\rxp\\java\\20\\day20_code");
System.out.println(f1.length());//文件夹的大小是0
File f2=new File("D:\\rxp\\java\\20\\day20_code\\classfive");
System.out.println(f2.length());//不存的文件夹,打印大小为0
File f3=new File("D:\\rxp\\java\\20\\day20_code\\.classpath");
System.out.println(f3.length());//最后为文件的情况,且文件存在,打印文件大小
File f4=new File("D:\\rxp\\java\\20\\day20_code\\hello.java");
System.out.println(f4.length());//最后为文件的情况,且文件存在,打印文件大小
}
private static void show06() {
File f1=new File("D:\\rxp\\java\\20\\day20_code\\helllo.java");
File f2=new File("D:\\rxp\\java\\20\\day20_code");
//获取的是构造方法传递路径结尾部分
System.out.println(f1.getName());
System.out.println(f2.getName());
}
private static void show05() {
File f1=new File("D:\\rxp\\java\\20\\day20_code\\helllo.java");
File f2=new File("a.txt");
String path1=f1.getPath();
System.out.println(path1);
System.out.println(f2.getPath());
System.out.println(f1);
System.out.println(f1.toString());
}
private static void show04() {
File f1=new File("D:\\rxp\\java\\test\\helllo.java");
String absolutepath1=f1.getAbsolutePath();
System.out.println(absolutepath1);
// TODO 自动生成的方法存根
File f2=new File("hello.java"); //相对路径创建
String absolutepath2=f2.getAbsolutePath();
System.out.println(absolutepath2);
}
private static void show03() {
File parent =new File("D:\\rxp\\java");
File f1=new File(parent,"hello.java");
System.out.println(f1);
}
private static void show02(String parent,String child) {
File f1=new File(parent,child);
}
private static void show01() {
File f1= new File("D:\\rxp\\java\\test");
System.out.println(f1);
File f2= new File("D:\\rxp\\java\\test\\a.txt");
System.out.println(f2);
File f3= new File("b.txt");
System.out.println(f3);
}
}