现在的位置: 首页 > 综合 > 正文

Java输入输出(1)

2018年04月06日 ⁄ 综合 ⁄ 共 1837字 ⁄ 字号 评论关闭

1.访问文件和目录

import java.io.*;

   public class FileTest
  {
       public static void main(String[] args) throws IOException
    {
         //以当前路径来创建一个File对象
        File file = new File(".");
       //直接获取文件名,输出一点
       System.out.println(file.getName());
       //获取相对路径的父路径可能出错,下面代码输出null
       System.out.println(file.getParent());
       //获取绝对路径
      System.out.println(file.getAbsoluteFile());
       //获取上一级路径
      System.out.println(file.getAbsoluteFile().getParent());
      //在当前路径下创建一个临时文件
      File tmpFile = File.createTempFile("aaa", ".txt", file);
      //指定当JVM退出时删除该文件
      tmpFile.deleteOnExit();
      //以系统当前时间作为新文件名来创建新文件
      File newFile = new File(System.currentTimeMillis() + "");
      System.out.println("newFile对象是否存在:" + newFile.exists());
      //以指定newFile对象来创建一个文件
       newFile.createNewFile();
       //以newFile对象来创建一个目录,因为newFile已经存在,
      //所以下面方法返回false,即无法创建该目录
       newFile.mkdir();
      //使用list方法来列出当前路径下的所有文件和路径
      String[] fileList = file.list();
      System.out.println("======当前路径下所有文件和路径如下=====");
      for (String fileName : fileList)
  {
      System.out.println(fileName);
  }
 
     //listRoots静态方法列出所有的磁盘根路径。
     File[] roots = File.listRoots();
     System.out.println("======系统所有根路径如下=====");
     for (File root : roots)
  {
     System.out.println(root);
  }
    }
 }

 

 

 2.文件过滤器

       public class FilenameFilterTest
      {
           public static void main(String[] args)
     {
          File file = new File(".");
         String[] nameList = file.list(new MyFilenameFilter());
      for (String name : nameList)
     {
         System.out.println(name);
      }
 }
}
      //实现自己的FilenameFilter实现类
      class MyFilenameFilter implements FilenameFilter
     {
         public boolean accept(File dir, String name)
     {
       //如果文件名以.java结尾,或者文件对应一个路径,返回true
      return name.endsWith(".java")
       || new File(name).isDirectory();
     }
}

        这种用法是一个典型的Command设计模式,因为File的list方法需要一个判断规则:判断哪些文件应该被列出--这段判断规则需要一个代码块,所以Java使用了accept方法来封装该代码块。

抱歉!评论已关闭.