zoukankan      html  css  js  c++  java
  • IO流01_File类

    【分类】

    Java的IO通过java.io包下的类和接口来支持。

    1.按照流向:

    输入流     输出流

    2.按照操作数据的大小:

    字节流( 8位字节 )     字符流( 16位字节 )

    3.按照角色:

    节点流     处理流

    【File类】

    File类是java.io包下代表与平台无关的文件和目录,主要用于操作文件和目录。

    File能新建、删除、重命名文件和目录,但File类不能访问文件内容本身,如果需要访问文件的内容本身,需要输入/输出流。

    常用构造方法:

    File(String pathname)
    通过路径名创建一个新 File 实例。

    File(URI uri)

    通过将给定的 file的URI 路径名创建一个新的 File 实例。

    【访问文件和目录】

    [ 访问文件的相关方法 ]

    String getName()    返回File对象的文件名

    String getPath()      返回File对象对应的路径名

    File getAbsoluteFile()      返回File对象的绝对路径

    String getAbsolutePath() 返回File对象所对应的绝对路径名

    String getParrent()  返回此File对象所对应目录的父目录名

    boolean renameTo(File newName) 重命名此File对象所对应的文件或目录

    [ 文件检测的方法 ]

    boolean exists()  判断File对象所对应的文件或目录是否存在

    boolean canWrite() 判断File对象所对应的文件或目录是否可写

    boolean canRead() 判断File对象所对应的文件或目录是否可读

    boolean isFile()         判断File对象所对应的是否是文件,而不是目录

    boolean isDirectory() 判断File对象所对应的是否是目录,而不是文件

    boolean isAbsolute()  判断File对象所对应的文件或目录是否是绝对路径

    [ 获取文件的信息 ]

    long lastModified()  返回文件的最后修改时间

    long length()   返回文件内容的长度

    [ 文件操作的方法 ]

    boolean createNewFile() 新建一个File对象指定的新文件,成功返回true。(文件不存在新建,已存在覆盖)

    boolean delete()  删除File对象所对应的文件或路径

    static File createTempFile(String prefix,String suffix) 在默认的临时文件中创建一个临时的空文件,使用给定前缀、系统生成的随机数字、给定的后缀作为文件名。

    static File createTempFile(String prefix,String suffix,File directory) 在directory所指定的目录中创建一个临时文件,其它同上。

    void deleteOnExit() 注册一个删除钩子,指定当java虚拟机退出时,删除File对象所对应的文件和目录。

    [ 目录操作的方法 ]

    boolean mkdir() 创建一个File对象所对应的目录

    String[] list()       列出File对象的所有子文件和路径名,返回String数组

    String[] listFiles() 列出File对象的所有子文件和路径名,返回File数组

    static File[] listRoots() 列出所有的根路径

    【建立JavaIO工程的位置】

    【工程Demo位置】

     

    【测试1:获取文件名或路径名】

    File file=new File(".");  //以当前路径创建一个File对象
    System.out.println("文件名==="+file.getName());  //直接获取文件名
    System.out.println("相对路径的父路径==="+file.getParent());       //获取相对路径的父路径,会引起错误
    System.out.println("绝对路径==="+file.getAbsoluteFile());       //获取绝对路径 
    System.out.println("绝对路径的父路径==="+file.getAbsoluteFile().getParent()); //获取上一级路径

     【运行结果】

    【测试2:创建临时文件】

    File file=new File(".");  //以当前路径创建一个File
    File tmpFile=File.createTempFile("Higgin", ".txt" ,file);   //在当前路径下建立一个临时文件,名为"Higgin.txt"
    tmpFile.deleteOnExit();   //指定当JVM退出时 删除该文件

    【使用debug运行结果】

    运行到创建临时文件那一步:

    运行到JVM退出删除那一步,文件被删除

    【测试3:新建一个普通文件,并判断是否新建成功】

    File newFile=new File(System.currentTimeMillis()+"");//以系统当前时间作为新文件名来创建文件
    System.out.println("newFile对象是否存在111==="+newFile.exists());
    newFile.createNewFile();  //以指定newFile对象来创建一个文件
    System.out.println("newFile对象是否存在222==="+newFile.exists());

    【运行结果】

    【测试4:文件和目录重名的情况是否能创建成功】

    File newFile=new File(System.currentTimeMillis()+"");//以系统当前时间作为新文件名来创建文件
    System.out.println("newFile对象是否存在111==="+newFile.exists());
    newFile.createNewFile();  //以指定newFile对象来创建一个文件
    System.out.println("newFile对象是否存在222==="+newFile.exists());    
    boolean flag=newFile.mkdir();   //以newFile对象来创建一个目录,因为newFile已经存在,所以无法创建,该方法返回false
    System.out.println("newFile.mkdir()创建目录是否成功:"+flag);  //由于重名,所以失败

    【运行结果】

    【测试5:列出当前路径和系统根路径下的所有文件和路径】

    File file=new File(".");  //以当前路径创建一个File对象
    String[] fileList=file.list();  //使用list()方法列出当前路径下的所有文件和路径
    System.out.println("=========当前路径下的所有文件和路径如下=========");
    for(String fileName:fileList){
        System.out.println(fileName);
    }
    
    File[] roots=File.listRoots(); //静态方法列出所有磁盘的根路径
    System.out.println("=========系统所有根路径如下=========");
    for(File root:roots){
        System.out.println(root);
    }

    【运行结果】

  • 相关阅读:
    WordPress研究心得
    Java之生成Pdf并对Pdf内容操作
    Java之生成条形码、PDF、HTML
    Redis口令设置
    Redis启动问题解决方案
    网狐6603手机棋牌游戏源码.rar
    LNK1179 无效或损坏的文件: 重复的 COMDAT“_IID_IDispatchEx”
    c++转C#
    error LNK1281: 无法生成 SAFESEH 映像 LNK2026 模块对于 SAFESEH 映像是不安全的 VS2015 /win10
    当两行的数据一样时,要删除一行的正则表达式解决办法。
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5923731.html
Copyright © 2011-2022 走看看