绝对路径和相对路径:
绝对路径:
绝对路径名是完整的路径名,不需要任何其他信息就可以定位它所表示的文件。(注意:文件路径不能出现中文字符,否则可能会报错)
相对路径:
在IDEA环境中写的是一个相对路径,绝对位置是工程目录。相对路径名必须使用取自其他路径名的信息进行解释。如果使用单元测试方法,相对路径就是基于当前的Module;如果是mian() 方法测试,相对路径就是基于当前的Project
在Eclipse当中无论是单元测试还是main() ,相对路径都是基于当前project的
下面测试是基于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 ArrayList<Integer> moneyList = null;
如果是main()测试,通过相对路径打开一个文件,首先这个文件得在运行所属的project的目录里,如图所示:

public abstract class RedPacketFrame extends JFrame {private static final long serialVersionUID = 1L;private static final String DIR = "demo\\pic";private ArrayList<Integer> moneyList = 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 ArrayList<Integer> moneyList = 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();}


















