zoukankan      html  css  js  c++  java
  • java IO-1 File 2019-07-24

    IO 中常用的类和接口 :

    1. java.io.File io中唯一一个代表文件的类;
    2. IntputStream    字节输入流,抽象类;
    3. OutputStream  字节输入流,抽象类;
    4. Writer       字符输入流,抽象类;
    5. Reader     字节输出流,抽象类;

    File类

     File类是java.io包中唯一代表磁盘本身的对象。file类提供了与平台无关的方法来操作文件,可以对文件进行创建、删除、重命名、判断是否可读。。。等等。

    File 的操作

      获取对文件名相关的方法:

    • String getName():返回此File对象所表示的文件名或路径名(如果是路径,则返回最后一级子路径名)
    • String getPath():返回此File对象所对应的路径名
    • String getAbsolutePath():返回此File对象所对应的绝对路径名
    • File getAbsoluteFile():返回此File对象的绝对路径
    • String getParent():返回此File对象所对应目录的父目录名

      获取文件相关的方法:

    • boolean exists():判断File对象所对应的文件或目录是否存在
    • boolean canWrite():判断File对象所对应的文件是否可写
    • boolean canRead():判断File对象所对应的文件是否可读
    • boolean canExecute():判断File对象所对应的文件是否执行
    • boolean isDirectory():判断File对象所对应的文件是否是目录
    • boolean isAbsolute():判断File对象所对应的文件或目录是否是绝对路径
    • boolean isFile(): 判断File对象对应的文件是否真的为文件

      获取文件的常规操作信息:

    • long lastModified():返回文件的最后修改时间
    • long length():返回文件内容的长度
    • URL toURL():获取文件路径URL后的路径名

      目录操作的方法:

    • boolean mkdir():创建一个File对象所对应的目录,如果创建成功返回true,否则返回false
    • String[] list():列出File对象的所有子文件名和路径名,返回String数组
    • File[] listFiles():列出File对象的所有子文件和路径,返回File数组
    • static File[] listRoots():列出系统所有根路径

      文件操作的方法

    • boolean createNewFile():当File对象所对应的文件不存在时,创建一个File对象所指定的新文件,如果创建成功则返回true,否则返回false
    • boolean delete():删除File对象所对应的文件或路径
    • static File createTempFile(String prefix, String suffix, File directory):在指定的File目录下创建一个临时的空文件,使用给定前缀、系统生成的随机数和给定后缀作为文件名,如果没有传入File目录对象,则默认在临时文件目录创建临时文件
    • void deleteOnExit():File对象会在JVM退出时删除所指定的文件或目录
    • boolean renameTo(File dest):重命名此File对象所对应的文件或目录,如果命名成功则返回true,否则返回false

    下面是写了一点测试的代码并不全:

     1 public static void main(String[] args) {
     2         String fileName = "D:\File";
     3         File file = new File(fileName);
     4 
     5         if (file.exists() && file.isDirectory()) // 判断路径指向的文件/文件夹是否存在、是否目录
     6         {
     7             System.out.println("file是一个文件夹
    ");
     8 
     9             File[] files = file.listFiles(); // 获取目录下的所有文件/文件夹(仅该层路径下)
    10             System.out.print("路径下有文件:");
    11             for (File f : files)
    12             {
    13                 System.out.print(f + "	");
    14             }
    15             System.out.println();
    16 
    17             //获取对文件的操作
    18             System.out.println("files[0]的文件名:" + files[0].getName()); // 获取文件名、文件夹名
    19             System.out.println("files[0]的文件路径:" + files[0].getPath()); // 获取文件、文件夹路径
    20             System.out.println("files[0]的绝对路径:" + files[0].getAbsolutePath()); // 获取文件、文件夹绝对路径
    21             System.out.println("files[0]的父文件夹名:" + files[0].getParent()); // 获取文件父目录路径
    22 
    23             //获取文件检测相关的方法
    24             System.out.println(files[0].exists() ? "files[0]的存在" : "files[0]的不存在"); // 判断文件、文件夹是否存在
    25             System.out.println(files[0].canWrite() ? "files[0]的可写" : "files[0]的不可写"); // 判断文件是否可写
    26             System.out.println(files[0].canRead() ? "files[0]的可读" : "files[0]的不可读"); // 判断文件是否可读
    27             System.out.println(files[0].canExecute() ? "file[0]可执行" : "file[0]不可执行"); // 判断文件是否可执行
    28             System.out.println(files[0].isDirectory() ? "files[0]的是目录" : "files[0]的不是目录"); // 判断文件、文件夹是不是目录
    29             System.out.println(files[0].isFile() ? "files[0]的是文件" : "files[0]的不是文件"); // 判断拿文件、文件夹是不是标准文件
    30             System.out.println(files[0].isAbsolute() ? "files[0]的路径名是绝对路径" : "files[0]的路径名不是绝对路径"); // 判断路径名是不是绝对路径
    31 
    32             //获取文件的常规操作信息
    33             System.out.println("files[0]的最后修改时间:" + files[0].lastModified()); // 获取文件、文件夹上一次修改时间
    34             System.out.println("files[0]的大小:" + files[0].length() + " Bytes"); // 获取文件的字节数,如果是一个文件夹则这个值为0
    35             System.out.println("files[0]的路径转换为URI:" + files[0].toURI()); // 获取文件路径URI后的路径名
    36 
    37 
    38             /**
    39              * 目录操作的相关方法:
    40              *  boolean mkdir():创建一个File对象所对应的目录,如果创建成功返回true,否则返回false
    41              *  String[] list():列出File对象的所有子文件名和路径名,返回String数组
    42              *  File[] listFiles():列出File对象的所有子文件和路径,返回File数组
    43              *  static File[] listRoots():列出系统所有根路径
    44              */
    45 
    46             /**
    47              * 文件的操作方法:
    48              *   boolean createNewFile():当File对象所对应的文件不存在时,创建一个File对象所指定的新文件,如果创建成功则返回true,否则返回false
    49              *   static File createTempFile(String prefix, String suffix, File directory):在指定的File目录下创建一个临时的空文件,使用给定前缀、系统生成的随机数和给定后缀作为文件名,如果没有传入File目录对象,则默认在临时文件目录创建临时文件
    50              *   boolean renameTo(File dest):重命名此File对象所对应的文件或目录,如果命名成功则返回true,否则返回false
    51              *   boolean delete(); 删除执行的文件夹 文件夹
    52              *   void deleteOnExit(); 当虚拟机终止的时候删除指定的文件夹或者文件
    53              */
    54 
    55             if (files[0].exists())
    56                 files[0].delete(); // 删除指定的文件、文件夹
    57             if (files[1].exists())
    58                 files[1].deleteOnExit(); // 当虚拟机终止时删除指定的文件、文件夹
    59         }
    60     }
    View Code
  • 相关阅读:
    Codeforces Ilya and Matrix
    poj 1308 Is It A Tree?
    Codeforces Sereja and Array
    poj 1041 John's trip
    Codeforces Continued Fractions
    WM_COPYDATA实现进程间数据通信
    虚拟机中安装ubuntu后,终端模式和图形模式切换
    IIS上配置运行cgi,php,aspx运行环境
    linux c main函数参数
    Linux网络编程入门 (转载)
  • 原文地址:https://www.cnblogs.com/L-o-g-i-c/p/11170995.html
Copyright © 2011-2022 走看看