黑马程序员——File类

1.File类用来将文件或者文件夹封装成对象
  方便对文件架的属性信息进行操作
  File对象可以作为参数传给流的构造函数

  将已有的或者未出现的文件或者文件夹封装成对象
   File类有一个静态属性separator,表示与系统有关的目录分隔符,以字符串表示

2.File类的常见方法
  1.创建
     boolen createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false
          和输出流不一样,输出流对象已建立就创建文件,如果文件存在,会覆盖
     boolean createTempFile():创建临时文件

     boolean mkdir()创建文件夹
     boolean madirs():创建多级目录
  2.删除
     boolean delete(),如果文件不存在放回false
     boolean  deleteOnExit():在程序退出时删除指定文件
     
  3.判断
    //在判断File对象是文件还是目录执勤啊一定要先判断File是否存在
     boolean exists():文件是否存在
      isFile()
      isDirectory()
      isHidden()是否是隐藏
      isAbsolute()是否是绝对路径
  4.获取信息
    getName()
    getPath()
    getParent():该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null
    getAbsolutePath()
    lastModified()
    length()


  5.renameTo(File f):可以完成重命名或者剪切动作
   listRoots():静态方法,返回File数组,列出可用的文件根系统
   list(): 返回String数组,列出指定目录下的所有文件或者文件夹的名称,如果指定目录为文件则返回空,而且指定的目录必须存在
   list(FilenameFilter filer):根据文件名过滤,根据accept(File dir,String name) 方法返回值进行过滤
   listFiles():返回File数组,
   listFiles(FilenameFilter filter)

5.Properities是hashTable的子类
  也就是说它具备map集合的特点,而且里面存储的键值都是字符串
  是集合和IO技术相结合的集合容器
  该对象的特点:可以用于键值对形式的配置文件

有两个方法setProperty(键,值)和getProperty(键),用于获取属性好设置属性 

6.IO包中的其他类 :

  打印流:提供了打印方法,可以将各种数据类型的数据鸳鸯打印
     字节打印流PrintStream
       构造函数可以接受的参数类型:
         (1)File对象  File
          (2)字符串路径 String
          (3)字节输出流  OutputStream

     字符打印流PrintWriter
        构造函数可以接受的参数类型:
           (1)File对象  File
          (2)字符串路径 String
          (3)字节输出流  OutputStream
           (4)字符输出流:Writer
  2.SequenceInputStream(串联流)
     用于把多个流中的数据写入一个流中,构造函数传入Enumeration<? extends InpuStream>
     需要用到Vector 或者自定义Enumeration类,然后将en传给SequenceInputStream的构造函数

  final Iterator<FileInputStream> it=arr.iterator();
  Enumeration<FileInputStream> en=new Enumeration<FileInputStream>(){

  @Override
   public boolean hasMoreElements() {
       return it.hasNext();
      }

 public FileInputStream nextElement() {
   return it.next(); 
       }
  }

原文地址:https://www.cnblogs.com/wdsthink/p/4372908.html