File
- 文件是非常重要的存储方式,在计算机硬盘中
- 即便断电或者程序终止,存储在硬盘中的文件也不会丢失
- 是java.io包下的类,File类的对象,用于代表当前操作系统的文件(可以是文件或者文件夹)
- 获取文件信息(大小,文件名,修改时间)、判断文件类型、创建文件/文件夹、删除文件/文件夹...
- File类只能对文件本身进行操作,并不能读写文件里面存储的数据
package com.File;import java.io.File;public class FileTest1 {public static void main(String[] args) {//1、创建一个File对象,指代某个具体的文件//路径分割符//File f1 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\新建 文本文档.txt");//File f1 = new File("C:/Users/Lenovo/Desktop/note/code/新建 文本文档.txt");(推荐)File f1 = new File("C:"+File.separator+ "Users"+File.separator+ "Lenovo/Desktop/note/code/新建 文本文档.txt");System.out.println(f1.length());File f2 = new File("C:/Users/Lenovo/Desktop/note/code");System.out.println(f2.length());//4096//指的是文件夹本身的大小,不包含里面的文件内容File f3 = new File("C:/Users/Lenovo/Desktop/note/code/666.txt");System.out.println(f3.length());System.out.println(f3.exists());//false//我现在要定位的文件在模块中,应该怎么定位呢?//绝对路径,带盘符的//File f4 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\JavaSE\\Basic\\src\\itheima.txt");//相对路径(重点),不带盘符,默认是直接去工程下寻找文件的,对应左侧上方那个黄色标的JavaSEFile f4 = new File("Basic\\src\\itheima.txt");System.out.println(f4.length());}
}
package com.File;import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;public class FileTest2 {public static void main(String[] args) {//1、创建文件对象,指代某个文件File f1 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\ab.txt");//2、public boolean exists():判断当前文件对象,对应文件的路径是否存在,存在返回trueSystem.out.println(f1.exists());//3、判断当前文件对象指代的是否是文件,是文件返回true,反之System.out.println(f1.isFile());//4、判断当前文件对象指代的是否是文件夹,是文件夹返回true,反之System.out.println(f1.isDirectory());//false//5、获取文件的名称(包含后缀)System.out.println(f1.getName());//6、获取文件的大小,返回字节个数System.out.println(f1.length());//7、获取文件的最后修改时间long time = f1.lastModified();//String sdf = new SimpleDateFormat().format(new Date());SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(sdf.format(time));//8、获取创建文件对象时使用的路径File f2 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\ab.txt");File f3 = new File("Basic\\src\\itheima.txt");System.out.println(f2.getPath());//C:\Users\Lenovo\Desktop\note\code\ab.txtSystem.out.println(f3.getPath());//Basic\src\itheima.txt//9、获取绝对路径System.out.println(f2.getAbsolutePath());//C:\Users\Lenovo\Desktop\note\code\ab.txtSystem.out.println(f3.getAbsolutePath());//C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\itheima.txt}
}
package com.File;import java.io.File;
import java.io.IOException;public class FileTest3 {public static void main(String[] args) throws IOException {//1、创建一个新文件(内容为空),创建成功则返回true,反之File f1 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\itheima2.txt");System.out.println(f1.createNewFile());//alt+Enter直接抛出异常//只能创建一次,运行第二次程序会返回false//2、用于创建文件夹,注意:只能创建一级文件夹File f2 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\aaa");System.out.println(f2.mkdir());//3、用于创建文件夹,注意:可以创建多级文件夹File f3 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\aaa\\bbb\\ccc");System.out.println(f3.mkdirs());//4、删除文件、或者空文件,注意:不能删除空文件夹System.out.println(f1.delete());System.out.println(f2.delete());//f2是非空文件夹,不能删除//falseSystem.out.println(f3.delete());}
}
package com.File;import java.io.File;
import java.lang.reflect.Array;
import java.util.Arrays;public class FileTest4 {public static void main(String[] args) {//1、获取当前目录下所有的“一级文件名称”到一个字符串数组中去返回File f1 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code");String[] names = f1.list();for (String name : names) {System.out.println(name);}//2、(重点)获取当前目录下的所有的“一级文件对象”到一个对象数组中去返回(重点)File[] files = f1.listFiles();for (File file : files) {System.out.println(file.getAbsolutePath());}File f = new File("C:\\Users\\Lenovos");//不存在的文件夹File[] files1 = f.listFiles();System.out.println(files1);//nullFile f2 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\ab.txt");//这个是文件不是文件夹File[] files2 = f2.listFiles();System.out.println(files2);File f3 = new File("C:\\Users\\Lenovo\\Desktop\\note\\code\\aaa\\bbb");File[] files3 = f3.listFiles();System.out.println(Arrays.toString(files3));//[]因为主调f3是空文件夹}
}
IO流
用于读写数据(可以读写文件或网络中的数据)