A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ò壞尛孩 中级黑马   /  2014-4-26 19:34  /  766 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、File常见方法
  1. package com.itheima;
  2. import java.io.*;
  3. /*
  4. File类常见方法:
  5. 1、创建;
  6.         boolea createNewFile();在制定位置创建文件,如果文件已经创建,则不创建,返回false
  7.         和输出流不一样,输出流对象以建立文件,而且文件已经存在,则覆盖
  8.         static File createTempFile(String prefix, String suffix)
  9.         临时文件XXX.tmp

  10.         mkdir()根据指定的file路径创建1级目录//不用抛异常
  11.         mkdirs()创建多级文件夹
  12. 2、删除
  13.         boolean delete()
  14.         void deleteOnExit()即使发生异常 JVM也能关掉file,在程序退出时删除指定文件

  15. 3、判断
  16.         boolean canExecute() 能否被执行
  17.         boolean exists()文件是否存在
  18.         boolean isAbsolute()  判断是否为绝对路径
  19.         boolean isHidden() 判断是否隐藏  JAVA无法读取影藏文件
  20.         boolean isFile()  测试此抽象路径名表示的文件是否是一个标准文件。
  21.         boolean isDirectory() 判断是否为路径

  22. 4、获取信息
  23.         String getName()
  24.         String getParent() //该方法返回的是绝对路径中的文件父目录,如果是相对路径,返回null
  25.                 //如果相对路径有上一层目录那么该目录就是返回的结果。
  26.         File getParentFile()
  27.         String getPath()
  28.         String getAbsolutePath() 返回绝对路径字符串
  29.         File getAbsoluteFile()  返回绝对路径对象
  30.         long lastModified() //返回最后一次修改的时间
  31.         long length() //返回文件的长度


  32. */       

  33. class  FileDemo
  34. {
  35.         public static void main(String[] args) throws IOException
  36.         {
  37.                 //System.out.println("Hello World!");
  38.                 //method_5();
  39.                 //method_3();
  40.                 //method_2();
  41.                 //method_1();


  42.         }
  43.         public static void method_1()throws IOException
  44.         {
  45.                 File f=new File("c:/file.txt");
  46.                 f.deleteOnExit();
  47.                 sop("creat:"+f.createNewFile());
  48.                 sop("delete:"+f.delete());

  49.         }
  50.         public static void method_2()throws IOException
  51.         {
  52.                 File f=new File("c:/file.txt");
  53.                 sop("creat:"+f.createNewFile());
  54.                 sop("exists:"+f.exists());
  55.                 sop("execute:"+f.canExecute());

  56.                 //创建文件夹
  57.                 File f2=new File("c:/abc/AD/DDW/www/dwd");
  58.                 sop("mkdir:"+f2.mkdirs());
  59.         }
  60.         public static void method_3()throws IOException
  61.         {
  62.                 File f=new File("c:/file.txt");
  63.                 //记住判断一文件对象是否是文件或者目录时,必须要先判断该文件对象封装的
  64.                 f.createNewFile();
  65.                 f.mkdirs();
  66.                 sop("dir:"+f.isDirectory());
  67.                 sop("file:"+f.isFile());
  68.         }
  69.         public static void method_4()
  70.         {
  71.                 File f=new File("c:/a.txt");

  72.                 sop("path:"+f.getPath());
  73.                 sop("abspath:"+f.getAbsolutePath());
  74.                 sop("parent:"+f.getParent());
  75.         }
  76.         public static void method_5()throws IOException
  77.         {
  78.                 File f1=new File("c:\\Test.txt");
  79.                 f1.createNewFile();
  80.                 File f2=new File("c:\\haha.txt");
  81.                 //f2.createNewFile();
  82.                 sop("rename:"+f1.renameTo(f2));
  83.         }
  84.         public static void sop(Object obj)
  85.         {
  86.                 System.out.println(obj);
  87.         }
  88. }
复制代码
2、打印指定规则的文件列表
  1. package com.itheima;
  2. import java.io.*;
  3. class  FileDemo2
  4. {
  5.         public static void main(String[] args)
  6.         {
  7.                 File f=new File("D:\\Demo\\");
  8.                 //System.out.println("Hello World!");
  9.                 String[] arr=f.list(new FilenameFilter(){
  10.                         public boolean accept(File dir,String name)       
  11.                         {
  12.                                 return name.endsWith(".java");
  13.                         }
  14.                
  15.                 });
  16.                 System.out.println("len:"+arr.length);

  17.                 for(String name:arr)
  18.                         System.out.println(name);
  19.         }
  20. }
复制代码

3、列出指定目录下所有内容包括子文件夹
  1. /*
  2. 列出制定目录下文件或者文件夹,包含子目录中的内容
  3. 也就是列出指定目录下所有内容


  4. */
  5. import java.io.*;
  6. class  FileDemo3
  7. {
  8.         public static void main(String[] args)
  9.         {
  10.                
  11.                 //System.out.println("Hello World!");
  12.                 File dir=new File("d:\\JAVA");
  13.                 showDir(dir);
  14.                 toBin(6);
  15.         }
  16.         public static void toBin(int num)
  17.         {
  18.                 if(num>0){
  19.                         toBin(num/2);
  20.                         System.out.println(num%2);
  21.                 }
  22.         }
  23.         public static void showDir(File dir)
  24.         {
  25.                 System.out.println(dir);
  26.                 File[] files=dir.listFiles();
  27.                 for(File f:files)
  28.                 {
  29.                         if(f.isDirectory())
  30.                                 showDir(f);
  31.                         else System.out.println(f);       
  32.                 }
  33.         }
  34. }
复制代码

4、建立一个java文件列表文件
  1. /*
  2. 将一个指定目录下的java文件的绝对路径,存储到一个文本文件中
  3. 建立一个java文件列表文件

  4. 思路:
  5. 1、对指定的目录进行递归
  6. 2、获取递归过程所有的java文件的路径
  7. 3、将这些路径存储到集合中
  8. 4、将集合中的数据写入到一个文件中

  9. */
  10. import java.io.*;
  11. import java.util.*;

  12. class  FileListDemo
  13. {
  14.         public static void main(String[] args) throws IOException
  15.         {
  16.                 File dir=new File("d:\\Demo");
  17.                 List<File>list=new ArrayList<File>();
  18.                 fileToList(dir,list);
  19.                 System.out.println(list.size());
  20.                
  21.                 File file=new File(dir,"javalist.txt");
  22.                 writeToFile(list,file.toString());
  23.                 //System.out.println("Hello World!");
  24.         }
  25.         public static void fileToList(File dir,List<File>list)
  26.         {
  27.                 File[] files=dir.listFiles();

  28.                 for(File f:files)
  29.                 {
  30.                         if(f.isDirectory())
  31.                                 fileToList(f,list);
  32.                         else
  33.                                 if(f.getName().endsWith(".java"))
  34.                                 list.add(f);
  35.                 }
  36.         }
  37.         public static void writeToFile(List<File>list,String javaListFile)throws IOException
  38.         {
  39.                   BufferedWriter bufw=null;
  40.                   try{
  41.                           bufw=new BufferedWriter(new FileWriter(javaListFile));

  42.                           for(File f:list)
  43.                           {
  44.                                   String path=f.getAbsolutePath();
  45.                                   bufw.write(path);
  46.                                   bufw.newLine();
  47.                                   bufw.flush();
  48.                           }
  49.                   }
  50.                   catch(IOException e){
  51.                           throw e;
  52.                   }
  53.                   finally{
  54.                           try
  55.                           {
  56.                                  if(bufw!=null)
  57.                                          bufw.close();
  58.                                
  59.                           }
  60.                           catch(IOException e)
  61.                           {
  62.                                   throw e;
  63.                           }
  64.                   }
  65.         }
  66. }
复制代码

5、删除目录
  1. /*
  2. 在window中,删除目录从里面往外删除的

  3. 既然是从里往外删除,就需要用到递归
  4. */
  5. import java.io.*;
  6. class  FileDeleteDemo
  7. {
  8.         public static void main(String[] args)
  9.         {
  10.                 File dir=new File("d:\\shiyan");
  11.                 removeDir(dir);
  12.                 //System.out.println("Hello World!");
  13.         }
  14.         public static void removeDir(File dir)
  15.         {
  16.                 File[] files=dir.listFiles();
  17.                 for(File f:files)
  18.                 {
  19.                         if(f.isDirectory())
  20.                                 removeDir(f);
  21.                         else
  22.                                 System.out.println(f.toString()+":-files-:"+f.delete());
  23.                 }
  24.                 System.out.println(dir+"::dir::"+dir.delete());
  25.         }
  26. }
复制代码

技术score好难得啊!版主施舍点吧!{:3_65:}离黑马不远了!

评分

参与人数 1技术分 +1 收起 理由
itpower + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马