黑马学员《IO(File类)》

来源:互联网 发布:linux 清空日志内容 编辑:程序博客网 时间:2024/06/11 18:45

--------------------ASP.Net+Android+IOS开发java培训、期待与您交流! --------------------

一、创建File对象三种格式
1.File f=new File("c:\\abc\a.txt");//将a.txt封装成FIle对象,可以将已有的和未出现的文件或者文件夹封装成对象。
2.File f=new File("c:\\abc","a.txt"); 第一个参数代表的是目录,第二个参数代表的是目录下的文件。
3.File d=new File("c\\abc"); 将路径封装成对象
   File f=new File(d,"a.txt"); 调用路径对象


二、File类中常见方法:
1.创建
  boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和写入流不一样,写入流创建文件会覆盖已经存在的文件。
  例子 :
   File f=new File("a.txt");
   f.createNewFile();
   创建一级目录 
   File dir=new File("abc");
boolean mkdir():创建文件夹。
boolean mkdirs():创建多级文件夹。
2.删除
   boolean f.delete(); 删除失败,返回false,可能不能删除
   void deleteOnExit();在程序退出时,删除指定文件,必须删除,不会失败。

3.判断 :在判断文件对象是都是文件或者目的时候,必须要先判断该文件对象封装的内容是否存在。
   File f=new File("a.txt");
   f.canExecute();是否能执行。
   f.exits();返回boolean  文件是否存在
   f.isDirectory();是否是目录    
   f.isFile();是否是文件   
   f.isHidden();是否是隐藏的   
   f.isAbsolute();是否是绝对路径
4.获取信息。
   getName()   //获取名称
   getpath()    //获取路径
   getAbsolutePath() //获取绝对路径 
   getParent() //获取绝对路径下的父路径,如果获取的是相对路径返回null,如果相对路径中由上一级目录,该目录就                     是结果。
   lastModified()//获取最后一次修改时间。
   length();//获取体积大小。

5、删除一个带内容的目录:
原理:从里面往外删除,就需要递归

主要代码如下:File dir=new File("d:\\");File[] files=dr.listFiles();for(int x=0;x<files.length;x++){   if(files[x].isDirectory())    removeDir(files[x]);      sop(files[x].toString()+":-file-:"+files[x].delete(););}sop(dir+":-dir-:"+dir.delete());
三、File类的方法应用例子

class FileDemo {public static void main(String[] args) throws IOException{method_5();}public static void method_5(){File f1 = new File("c:\\Test.java");File f2 = new File("d:\\hahah.java");sop("rename:"+f2.renameTo(f1));}public static void method_4(){File f = new File("file.txt");sop("path:"+f.getPath());sop("abspath:"+f.getAbsolutePath());sop("parent:"+f.getParent());//该方法返回的是绝对路径中的父目录。如果获取的是相对路径,返回null。//如果相对路径中有上一层目录那么该目录就是///返回结果。}public static void method_3()throws IOException{File f = new File("d:\\java1223\\day20\\file2.txt");//f.createNewFile();//f.mkdir();//记住在判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。//通过exists判断。sop("dir:"+f.isDirectory());sop("file:"+f.isFile());sop(f.isAbsolute());}public static void method_2(){File f = new File("file.txt");//sop("exists:"+f.exists());//sop("execute:"+f.canExecute());//创建文件夹File dir = new File("abc\\kkk\\a\\a\\dd\\ee\\qq\\aaa");sop("mkdir:"+dir.mkdirs());}public static void method_1()throws IOException{File f = new File("file.txt");//sop("create:"+f.createNewFile());//sop("delete:"+f.delete());}//创建File对象public static void consMethod(){//将a.txt封装成file对象。可以将已有的和为出现的文件或者文件夹封装成对象。File f1 = new File("a.txt");File f2 = new File("c:\\abc","b.txt");File d = new File("c:\\abc");File f3 = new File(d,"c.txt");sop("f1:"+f1);sop("f2:"+f2);sop("f3:"+f3);File f4 = new File("c:"+File.separator+"abc"+File.separator+"zzz"+File.separator+"a.txt");}public static void sop(Object obj){System.out.println(obj);}}
--------------------ASP.Net+Android+IOS开发java培训、期待与您交流! --------------------









0 0
原创粉丝点击