File流层次图
创建文件对象相关的构造和方法
常用的三种创建对象的方法:
方式一:根据路劲构建一个File对象
方式二:根据父目录文件对象+子路径构建
方式三:根据父目录文件+子路径构建
构建形式new File();
createNewFile()方法才会创建文件到磁盘上!
方式一:new File(路径)
new File(String pathname)
new File(String pathname)根据路劲构建一个File对象
直接写入文件路径就ok了
@Test public void create01(){ //直接把路径写清楚就可以了 String filePath="f:\\news1.text"; File file = new File(filePath); try { file.createNewFile();//会报一个IO异常。 System.out.println("文件创建成功!!!!"); } catch (IOException e) { e.printStackTrace(); } }
方式二 new File(父目录文件对象, 子路径)
//根据父目录文件对象+子路径构建
//如果创建"f:\news2.text" 则parentfile 就是f:\
@Test public void create02(){ File parentfile = new File("f:\\");//父目录文件 String fileName="news2.text";//子路径 File file = new File(parentfile, fileName); try { file.createNewFile(); System.out.println("文件创建成功!!!!"); } catch (IOException e) { e.printStackTrace(); } }
``createNewFile()`方法才会创建文件到磁盘上!
常用的文件操作
一些小案列:
@Test public void info(){ //先创建文件对象 File file = new File("f:\\news1.text"); //调用相应的方法就行,看一个案列 System.out.println("文件名字:"+file.getName()); System.out.println("绝对路径:"+file.getAbsolutePath()); System.out.println("文件父目录:"+file.getParent()); }
成功拿到文件名字:
接下来演示获取文件大小
我们先打开文件编辑一点文字
一个汉字3字节 一个字母1字节
```java @Test public void info(){ //先创建文件对象 File file = new File("f:\\news1.text"); //调用相应的方法就行,看一个案列 System.out.println("文件名字:"+file.getName()); System.out.println("绝对路径:"+file.getAbsolutePath()); System.out.println("文件父目录:"+file.getParent()); System.out.println("文件大小(按字节):"+file.length()); }
目录的操作和文件的删除
mkdir:创建一级目录
mldirs:创建多级目录
delete:删除空目录或者文件
删除操作
public void m1(){ String fileName="F://news2.text"; String fileName2="F://news4.text"; File file = new File(fileName); File file2 = new File(fileName2); if(file.exists()){ boolean delete = file.delete(); if(delete){ System.out.println("news2.text删除成功"); }else{ System.out.println("news2.text删除失败"); } }else{ System.out.println("对不起没有该文件"); } if(file2.exists()){ }else{ boolean delete = file.delete(); if(delete){ System.out.println("news4.text删除成功"); }else{ System.out.println("news4.text删除失败"); } System.out.println("对不起没有该文件news4.text"); } }
判断目录是否存在
体会:
在Java编程中,目录也是一种文件的存在
先创建一个文件
@Test public void m2(){ String fileName="F://Demo"; File file = new File(fileName); if(file.exists()){ boolean delete = file.delete(); if(delete){ System.out.println("删除成功"); }else{ System.out.println("删除失败"); } }else{ System.out.println("对不起没有该目录"); } }
boolean mkdirs = file.mkdirs();//创建多级目录
判断
"F://Demo//a"
是否存在?不存在就创建
mkdir()创建一级目录
mkdirs()创建多级目录
@Test public void m3(){ String fileName="F://Demo//a"; File file = new File(fileName); if(file.exists()){ System.out.println("该目录存在"); }else{ boolean mkdirs = file.mkdirs();//创建多级目录 if(mkdirs){ System.out.println("创建成功"); }else{ System.out.println("创建失败"); } } }
第一次运行:
第二次运行: