首页 > 编程语言 > 详细

Java学习之IO流(FIle类)

时间:2020-01-02 16:46:42      阅读:73      评论:0      收藏:0      [点我收藏+]

File类:文件、文件夹(目录)、路径的描述

一、构造函数

  File?(File parent, String child);     File从父抽象路径名和子路径名字符串创建新实例。
  File?(String pathname);        File通过将给定的路径名??字符串转换为抽象路径名来创建新实例。
  File?(String parent, String child);    File根据父路径名字符串和子路径名字符串创建新实例。
  File?(URI uri);            File通过将给定file:URI转换为抽象路径名来创建新实例 。

二、字段

  static String pathSeparator 系统相关的路径分隔符。(Windows系统中path1;path2;)中的;分隔路径
  static char pathSeparatorChar 与系统有关的路径分隔符。
  static String separator 系统相关的默认名称分隔符。(Windows系统中c:\\)中的\\
  static char separatorChar 取决于系统的默认名称分隔符。

三、常见功能

获取文件名
  String getName();
  String getPath();//获取文件路径
  String getAbsolutePath();绝对路径
获取文件大小
  long length();//获取文件大小
获取目录空间大小
  long getFreeSpace();//空闲空间(常用)
  long getTotalSpace();//总空间
  long getUsableSpace();//可用空间
获取文件修改时间
  long lastModified();
创建
  boolean createNewFile();//创建文件,如果存在就创建,否则,就不创建
  static File createTempFile?(String prefix, String suffix) //使用给定的前缀和后缀生成其名称
 
创建目录
  boolean mkdir();//单级目录
  boolean mkdirs();//多级目录
删除
  boolean delete();//慎用可以删除文件或目录(目录中不能有文件或文件夹,)
  void deleteOnExit();//退出时,删除
判断
  boolean exists();//存在判断
  boolean isAbsolute();//绝对路径
  boolean isDirectory();//目录判断
  boolean isFile();//文件判断
  boolean isHidden();//隐藏判断
重命名
  boolean renameTo?(File dest);//有剪切功能效果
换取系统根目录集合
  static File[] listRoots()
其他:
  String[] list();//当前目录下的文件夹名称和文件(包含隐藏文件),必须是目录
  String[] list?(FilenameFilter filter);//过滤器(后缀名:name.endsWith(".java"))

例子深度遍历文件夹:

 1 public static void main(String[] args) {
 2     File dir=new File("目录");
 3     getListAll(dir,0);
 4     }
 5 
 6     private static void getListAll(File dir,int level) {
 7     System.out.println(getSpace(level)+dir.getName());
 8     File[] list=dir.listFiles();
 9     level++;
10     for(File f:list) {
11         if(f.isDirectory()) {
12         getListAll(f,level);
13         }else {
14         System.out.println(getSpace(level)+f.getName());
15         }        
16     }
17     }
18 
19     private static String getSpace(int level) {
20     StringBuilder sb=new StringBuilder();
21     sb.append("|--");
22     for(int i=0;i<level;i++) {
23         sb.insert(0, " ");
24     }
25     return sb.toString();
26     }

 

Java学习之IO流(FIle类)

原文:https://www.cnblogs.com/WarBlog/p/12133462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!