绝对路径和相对路径:
绝对路径:
绝对路径名是完整的路径名,不需要任何其他信息就可以定位它所表示的文件。(注意:文件路径不能出现中文字符,否则可能会报错)
相对路径:
在IDEA环境中写的是一个相对路径,绝对位置是工程目录。相对路径名必须使用取自其他路径名的信息进行解释。
通过绝对路径打开一个文件夹,直接输入文件夹的根目录比如:
public abstract class RedPacketframe extends Jframe { private static final long serialVersionUID = 1L; private static final String DIR = "C:\Users\lu\Desktop\RedPacket\test\demo\pic"; private ArrayListmoneyList = null;
通过相对路径打开一个文件,首先这个文件得在运行所属的project的目录里,如图所示:
public abstract class RedPacketframe extends Jframe { private static final long serialVersionUID = 1L; private static final String DIR = "demo\pic"; private ArrayListmoneyList = null; private static int initMoney = 0; private static int totalMoney = 0; // 单位为“分” private static int count = 0;
或者当根目录是demo时,通过相对路径打开文件如图所示:
public abstract class RedPacketframe extends Jframe { private static final long serialVersionUID = 1L; private static final String DIR = "pic"; private ArrayListmoneyList = null;
文件的构造方法:
public static void fun(){ // File(String pathname) // pathname: // 1)可以是文件夹 eg:c:\123 // 2)也可以是文件 eg:c:\123\123.txt // 将路径封装成File类型的对象 //不对路径是否存在进行判断 File file = new File("写路径名"); } public static void fun1(){ // File(String parent,String child) // 需要传递路径的父路径(上一层),和子路径(下一层) File file = new File("d","****"); } public static void fun2(){ // File(File parent,String child) // 需要传递路径的父路径(上一层),和子路径(下一层) File file = new File("d:"); File file1 = new File(file,"sss"); }
文件的增删操作
//创建一个文件 public static void fun() throws IOException { File file = new File("d:\a.txt"); //如果文件已经存在 便不在创建,只能创建文件不能创建文件夹 boolean createNewFile = file.createNewFile(); System.out.println(createNewFile); } //创建一个文件夹 public static void fun1() throws IOException { File file = new File("d:\aaa"); //如果文件已经夹存在 便不在创建,不能用来创建文件 boolean b = file.mkdir(); //创建多级文件夹 File file1 = new File("d:\aa\bb\cc"); boolean b1 = file1.mkdirs(); //推荐使用mkdirs 可以创建一级或多级文件夹 } //删除文件或者文件夹 public static void fun2(){ File file = new File("d://aaa"); //可以删除文件夹 也可以删文件夹 //直接删除,不去回收站 boolean delete = file.delete(); } //获取文件或者文件夹的名称 public static void fun3(){ //获取文件最深路径的名字 //不判断文件是否存在,文件路径错误也会返回 //相当于直接切割file里面的路径名 //此方法意义不大 File file = new File("d:\aaa"); String name = file.getName(); //和toString 返回结果一样 file.getPath(); }
对文件内容进行操作``
//获取文件夹中所有文件和文件夹名称(所以的,包括隐藏的) public static void fun(){ File file = new File("D:\aaa"); String[] list = file.list(); } //获取文件夹中所有文件和文件夹名称(返回值是File对象) //返回了的目录或者文件全名 public static void fun1(){ File file = new File("D:\aaa"); File[] listFiles = file.listFiles(); } //获取系统中的所有根目录 public static void fun2(){ File[] listRoots = File.listRoots(); }