IO流 文件和文件夹的管理

IO:inputOutput输入输出流
文件的内容操纵都称为流,流向内存称读入或输入(read或input),从内存流其它设备(磁盘,终端)称为写出或输出(write或output)
 
1.文件和文件夹的管理
    创建,删除,获取文件信息,判断类型,是否存在...
 
2.文件内容
    2.1文本文件的操作
        内容的读和写操作
    2.2二进制文件的操作
        内容的读和写操作
 
所有对文件和流的操作都来自于java.io包
    File类:此类的实例是指向物理文件和文件夹的对象
 
构造方法摘要
File(File parent, String child)
          根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname)
          通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child)
          根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(URI uri)
          通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例
 
表示"c:/nf/test.txt"文件
File file = new File(path, "test.txt");//第一种构造器
 
File file = new File("c:\nf\test.txt");//第二种构造器
说明:windows文件夹之间分隔符""在java中使用"\"转义。
 
File file = new File(""c:\nf","test.txt");//第三种构造器
 
File path = new File("c:\nf");//第四种构造器
文件夹(路径)的表示与文件相同
 
常用方法:
    1.判断File对象是否存在
             boolean exists()
 
   2. 判断File对象是文件还是文件夹   
        boolean isAbsolute()
               测试此抽象路径名是否为绝对路径名。
        boolean isDirectory()
               测试此抽象路径名表示的文件是否是一个目录。
        boolean isFile()
               测试此抽象路径名表示的文件是否是一个标准文件。
        boolean isHidden()
               测试此抽象路径名指定的文件是否是一个隐藏文件。
 
    3.创建新文件或文件夹
        boolean createNewFile()
               当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
        static File createTempFile(String prefix, String suffix)
               在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。
        static File createTempFile(String prefix, String suffix, File directory)
                在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
        boolean mkdir()
               创建此抽象路径名指定的目录。
        boolean mkdirs()
               创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
 
    4.删除文件或文件夹
    boolean delete()
               删除此抽象路径名表示的文件或目录。
    void deleteOnExit()
               在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
 
   
   5. 获取文件名及路径
        String getName()
               返回由此抽象路径名表示的文件或目录的名称。
        String getParent()
               返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
        String getPath()
               将此抽象路径名转换为一个路径名字符串。   
        String getAbsolutePath()
               返回此抽象路径名的绝对路径名字符串。
        String getCanonicalPath()
               返回此抽象路径名的规范路径名字符串。
 
        File getParentFile()
               返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
        File getAbsoluteFile()
               返回此抽象路径名的绝对路径名形式。         
        File getCanonicalFile()
               返回此抽象路径名的规范形式。
 
 
        String[] list()
          返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
        String[] list(FilenameFilter filter)
          返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
        File[] listFiles()
          返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
        File[] listFiles(FileFilter filter)
          返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
        File[] listFiles(FilenameFilter filter)
          返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
        static File[] listRoots()
          列出可用的文件系统根。
 
 
    6.文件或文件夹的移动和复制没有相有方法
 
    7.获文件中信息(大小,创建时间,类型...)
long     lastModified()
          返回此抽象路径名表示的文件最后一次被修改的时间。
 
 long   length()
          返回由此抽象路径名表示的文件的长度。
 
 
 

 
    判断文件对象是否存在
    boolean exists()
判断是否是文件
    boolean isFile()
判断是否是路径
    boolean isDirectory()
判断是否是绝对路径
    boolean isAbsolute()
创建新文件
    boolean createNewFile()
创建目录
    boolean mkDir()
创建目录树
    boolean mkDirs()
创建临时文件 
    static boolean createTempFile(String 前缀,String 后缀);
    static boolean createTempFile(String 前缀,String 后缀,File 路径);
删除文件和目录
    boolean delete()
程序结束时删除
    void deleteOnExit()
 
 Math.max(int x, int y)
String n1="10";
Math.max(Integer.parseInt(n1),20);
 
StringBuffer append(String)
Date d = new Date();
x.append(d.toString())
 
Date
    boolean after(Date)
 
    Date a = new Date();
    String b = "2017-3-11";
    SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
    a.after( sdf.parse(b) );//出错
 
 
Collections.sort(List,Comparator)
Comparator接口
两个参数都是接口
    参数1可以是ArrayList和LinkedList类的对象都List的实现类
    ArrayList alist = new ArrayList();
    参数2也必须是Comparator的实现的子类
//方法1
Collections.sort(alist,new Comparator<类型>(){
    public int compare(类型 a, 类型 b){
        int i=0;       
        //比较       
        return i;
    }
});
//方法2
class XxxComparator implements Comparator<类型>{
    public int compare(类型 a, 类型 b){
        int i=0;       
        //比较       
        return i;
    }
}
Collections.sort(alist,new XxxComparator());
 
 
Collections.shuffle(List,Random)
 
Random类
 
Collections.shuffle(alist, new Random());
 
Random r =new Random();
Collections.shuffle(alist, r);
 
 
原文地址:https://www.cnblogs.com/zachary7/p/8191578.html