(一)File类
使用一个类描述文件与文件夹---File类
File类的构造函数
File(String pathname) 指定文件或文件夹的路径,创建一个File对象
File(File parent,String child) 指定父路径与子路径构建一个File对象,应用场景:有时需要父路径先做预处理,然后才能处理子文件
File(String parent,String child)
public class iostream_demo1 {
public static void main(String[] args) {
File parentFile=new File("E:\\");//父路径,
File file=new File(parentFile,"a.txt");//子路径
//File file=new File("E:\\a.txt");//创建一个File对象
System.out.println("文件存在么?"+file.exists());
}
}
目录分隔符:在Windows中分隔符为'\',在Unix/Linux中分隔符为'/'。
java程序跨平台。
注意:
1.在Windows操作系统下,可以使用\与/作为目录分隔符,但是在Unix/Linux操作系统下,只能使用/作为目录分隔符。
路径:
绝对路径:指定文件的完整路径创建一个File对象,绝对路径一般以盘符开头。
相对路径:资源文件相对于当前路径。
. 代表是当前路径
.. 代表是上一级路径
注意:如果当前路径与资源文件不在同一个盘符下,无法写相对路径。
public class iostream_demo2 {
public static void main(String[] args) {
/*
File file=new File("E:\\a.txt");//因为\转义,所以要出现\,必须用\\
File file1=new File("E:/a.txt");
System.out.println("文件存在么?"+file.exists());
System.out.println("文件存在么?"+file1.exists());
System.out.println("目录分隔符:"+file.separator);// Windows下是\
*/
File file1=new File(".");
System.out.println("当前绝对路径:"+file1.getAbsolutePath());//C:\Users\lenovo\eclipse-workspace\day19\. 程序当前在day19文件夹下
File file=new File("..\\..\\eclipse");//..找到day19,..找到eclipse-workspace,与eclipse在同一个路径下
System.out.println("文件存在么?"+file.exists());
File file2=new File("src\test.txt");
System.out.println("文件存在么?"+file2.exists());//当前路径下的文件夹中的文件
}
}
通过File类常用的方法可以获取以及修改文件的属性数据。
创建:
createNewFile() 在指定位置创建一个空文件,成功返回true,若已存在则不创建并返回false
mkdir() 在指定位置创建目录,这只会创建最后一级目录,若上级目录不存在即抛出异常。
mkdirs() 在指定位置创建目录,会创建路径中所有不存在的目录
renameTo(File dest) 重命名文件或文件夹,也可以操作非空的文件夹。
public class iostream_demo3 {
public static void main(String[] args)throws IOException {
File file=new File("E:\\bb");
File dir=new File("E:\\aa\\bb");
System.out.println("创建一个空文件:"+file.createNewFile());//抛出io异常,防止硬盘坏掉,无法创建
System.out.println("创建一个文件夹:"+dir.mkdirs());//不能以后缀名判断是文件还是文件夹
File destfile=new Fi