1、io
把内存中的数据存储到永久的持续化设备上的动作叫输出操作(写入)
将永久持续化设备上的数据读取到内存中的动作叫输入操作(读)
把这种输入输出的操作叫做io
2.file类
(2-1)静态常量
(1)pathSeparator:获取与系统相关的路径分隔符:windows系统就是“;”,linux系统就是“:”
(2)separator:获取与系统有关的默认名称分隔符:windows系统就是“”,linux系统就是“/”
代码展示
System.out.println(File.separator); System.out.println(File.pathSeparator); 运行结果为 ;
(2-2)构造方法
(1)File (String pathname)通过给定的路径名称字符串创建一个新的file类对象
(2)File (String parent, String child)根据parent父级文件夹 和child 子级文件夹 创建一个新的file类对象
(3)File (File parent, String child) 根据parent父级file类对象和child子级文件夹 创建一个新的file类对象
代码展示
File file=new File("F:\io1127\demo01.txt"); System.out.println(file); File file2=new File("F:\io1127","demo01.txt"); System.out.println(file2); File file3=new File(new File("F:\io1127"),"demo01.txt"); System.out.println(file3); 运行结果 F:io1127demo01.txt F:io1127demo01.txt F:io1127demo01.txt
(2-3)file类中的方法
(1)getAbsolutePath ()获取该file类对象的绝对路径字符串,返回值是字符串类型
(2)getName ()获取该file类对象的文件或文件夹名字,返回值是字符串类型
(3)getPath()获取该file类对象的相对路径字符串,返回值是字符串类型
(4)length()获取对象的大小,返回值是long类型
代码展示
//file中的获取方法 public static void method01(){ //描述要操作的文件 File file=new File("F:\io1127\demo01.txt"); //File file=new File("srs");//默认是工作空间的的路径 //获取绝对路径 System.out.println(file.getAbsolutePath()); //获取文件或文件夹名 System.out.println(file.getName()); //获取路径 System.out.println(file.getPath()); //获取文件或文件夹大小 System.out.println(file.length());//长度单位是字节 }
注:如果获取的文件是不存在的,他会默认获取的是工作空间的路径
(2-4)文件的创建和删除
(1)createNewFile () 创建一个文件,返回值是布尔值
(2)delete()删除一个文件,返回值是布尔值
(3)exists()判断该文件是否存在,返回值是布尔值
(4)isDirectory() 测试文件是否是一个文件夹,返回值是布尔值
(5)isFile()测试文件是不是一个标准文件
(6)mkdir()创建指定目录
代码展示创建
//创建文件 public static void method02() throws IOException{ //明确要创建文件的位置 File file=new File("F:\io1127\demo02.txt"); //File file=new File("F:\io1127\a"); //创建文件 System.out.println(file.createNewFile()); }
注:上述中创建的a文件 当在创建时也会默认创建一个a文件,只不过文件的类型没有指定 他就是一个文件
代码展示删除
//删除文件或文件夹 public static void method03(){ //明确要删除文件的位置 File file=new File("F:\io1127\a"); //删除文件 System.out.println(file.delete()); }
代码展示判定
//判定 public static void method04(){ //明确文件的位置 File file=new File("F:\io1127\demo02.txt"); //判断是否真是存在 System.out.println(file.exists()); //判断是否是文件夹 System.out.println(file.isDirectory()); //判断是否是文件 System.out.println(file.isFile()); }
代码展示创建文件夹
//创建文件夹 public static void method05(){ //明确创建文件夹的位置 File file=new File("F:\io1127\a\b\c"); //创建文件夹 System.out.println(file.mkdirs()); }
注:mkdir()方法 只能创建一层文件夹,mkdirs()方法 可以创建多层文件夹
(2-5)listFile()方法
(1)list() 将指定file类对象的多有文件或文件夹名称存到string数组中,只能获取一层
(2)listFile()将指定file类对象中的文件或文件夹对象存到file数组中
代码展示01
//获取某目录下的文件和文件夹(名字) public static void method06(){ //明确文件夹位置 File file=new File("F:\io1127"); //获取 String[] names=file.list(); for(String s:names){ System.out.println(s); } }
运行结果:
a
demo01.txt
demo02.txt
work1
work1.txt
代码展示02
//获取某目录下的文件和文件夹对象 public static void method07(){ //明确文件夹位置 File file=new File("F:\io1127"); //获取 File[] files=file.listFiles(); for(File f:files){ System.out.println(f); } }
运行结果为
F:io1127a
F:io1127demo01.txt
F:io1127demo02.txt
F:io1127work1
F:io1127work1.txt