Java IO 总结(转)

来源:互联网 发布:谭浩强c语言视频讲解 编辑:程序博客网 时间:2024/04/29 16:23

由于一直在使用Java file功能,但是总是很混乱,今天将Java File的所有功能做一个总结。 Java文件操作我个人认为重要的问题有:   a:如何跨平台问题   b:文件编码问题,尤其是多语言平台情况下如何正常工作。   c:文件读写效率、操作效率   d:文件加密和文件安全   e:文件快速检索,强烈建议使用lence进行文件检索及文件管理。 以下是本人做的一些整理: 一:建立文件    File file1 = new File ("C://temp//myNote.txt"); // in Windows  这是windows文件系统下的方法    File file2 = new File ("/tmp/myNote.txt"); // in Linux/Unix        unix文件系统的方法 最安全的建立文件的方法:   File myFile = new File("C:" + File.separator + "jdk1.5.0" + File.separator, "File.java");    File.separator 是文件路径符号。   System.out.println(myFile.getName());//取得文件名称的方法   System.out.println(myFile.getPath());//取得文件路径的方法   System.out.println(myFile.isAbsolute());//判断文件是否完整   System.out.println(myFile.getParent());//取得文件的根目录   System.out.println(myFile.exists());//判断文件是否存在   System.out.println(myFile.isDirectory());//判断是否是目录   System.out.println(myFile.isFile());//判断是否是文件   System.out.println(myFile.isHidden());//判断是否是隐藏文件   System.out.println(myFile.canRead());//判断是否可读   System.out.println(myFile.canWrite());//判断是否可写   File myFile_A = new File("C:" + File.separator);        for(String s: myFile_A.list()){//读取某个目录下所有文件        System.out.println(s);        }     File myFile_C=new File("d:/test.txt");            System.out.println(new Date(myFile_C.lastModified()));//最后一次编辑时间        myFile_C.renameTo(new File("c:/text.txt.bak"));//从命名        myFile_C.setReadOnly();//设置为只读 二:文件过滤方法    java提供了很好的文件过滤借口:FilenameFilter 过滤以后的文件可以用listFiles显示出来。效率还是非常高的。 import java.io.File; import java.io.FilenameFilter; import java.util.Date; /** * 文件过滤器过滤类 * @author fb */ class FileListFilter implements FilenameFilter {  private String name;  private String extension;  public FileListFilter(String name, String extension) {    this.name = name;    this.extension = extension;  }  public boolean accept(File directory, String filename) {    boolean fileOK = true;    if (name != null) {      fileOK = filename.startsWith(name);    }    if (extension != null) {      fileOK = filename.endsWith('.' + extension);    }    return fileOK;  } } 测试方法: import java.io.File; import java.io.FilenameFilter; import java.util.Date; /** * 文件过滤器   运行函数 * @author fb */ public class Run_FileListFilter {  public static void main(String[] args) {      File myDir = new File("d:/");      FilenameFilter select = new FileListFilter("F", "txt");      File[] contents = myDir.listFiles(select);      for (File file : contents) {        System.out.println(file + " is a " + (file.isDirectory() ? "directory" : "file")            + " last modified on/n" + new Date(file.lastModified()));      }  } } 三:建立目录、文件、临时文件、删除文件或目录 import java.io.File; import java.io.IOException; public class MakeDir {    public static void main(String[] args) {    File myFile=new File("D:/myFubin/");    if(myFile.mkdir()){//单级目录      System.out.println("建立目录成功");    }else{      System.out.println("建立目录失败");    }        File myFile_A=new File("D:/myFubin/test/");    if(myFile_A.mkdirs()){//多级目录      System.out.println("建立目录成功");    }else{      System.out.println("建立目录失败");    }        File file = new File("d://myFubin//test.txt");    try {      file.createNewFile();//建立空文件    } catch (IOException e) {      e.printStackTrace();    }        System.out.println(file.canRead());        if(file.delete()){//删除文件或删除目录      //删除文件的另外一个方法:file.deleteOnExit() 这种方法是在程序退出的时候将文件删除      System.out.println("删除成功");    }else{      System.out.println("删除失败");    }          try {      File  tmp = File.createTempFile("foo", "tmp");//建立临时文件      System.out.println("刚才建立的临时文件在:" + tmp.getCanonicalPath());    } catch (IOException e) {      e.printStackTrace();    }          }   }

原创粉丝点击