第十九篇:JAVA输入输出(IO)之文件

来源:互联网 发布:中华书局知乎 编辑:程序博客网 时间:2024/06/05 18:24

计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。JAVA中对文件的操作主要是使用java.io.File类。这一篇博客也将围绕着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 实例

方法摘要

返回值方法名说明booleancanExecute()测试应用程序是否可以执行此抽象路径名表示的文件booleancanRead()测试应用程序是否可以读取此抽象路径名表示的文件booleancanWrite()测试应用程序是否可以修改此抽象路径名表示的文件intcompareTo(File pathname)按字母顺序比较两个抽象路径名booleancreateNewFile()当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件static FilecreateTempFile(String prefix, String suffix)在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称static FilecreateTempFile(String prefix, String suffix, File directory)在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称booleandelete()删除此抽象路径名表示的文件或目录voiddeleteOnExit()在虚拟机终止时,请求删除此抽象路径名表示的文件或目录booleanequals(Object obj)测试此抽象路径名与给定对象是否相等booleanexists()测试此抽象路径名表示的文件或目录是否存在FilegetAbsoluteFile()返回此抽象路径名的绝对路径名形式StringgetAbsolutePath()返回此抽象路径名的绝对路径名字符串FilegetCanonicalFile()返回此抽象路径名的规范形式StringgetCanonicalPath()返回此抽象路径名的规范路径名字符串longgetFreeSpace()返回此抽象路径名指定的分区中未分配的字节数StringgetName()返回由此抽象路径名表示的文件或目录的名称StringgetParent()返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 nullFilegetParentFile()返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 nullStringgetPath()将此抽象路径名转换为一个路径名字符串longgetTotalSpace()返回此抽象路径名指定的分区大小longgetUsableSpace()返回此抽象路径名指定的分区上可用于此虚拟机的字节数inthashCode()计算此抽象路径名的哈希码booleanisAbsolute()测试此抽象路径名是否为绝对路径名booleanisDirectory()测试此抽象路径名表示的文件是否是一个目录booleanisFile()测试此抽象路径名表示的文件是否是一个标准文件booleanisHidden()测试此抽象路径名指定的文件是否是一个隐藏文件longlastModified()返回此抽象路径名表示的文件最后一次被修改的时间longlength()返回由此抽象路径名表示的文件的长度String[]list()返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录String[]list(FilenameFilter filter)返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录File[]listFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件File[]listFiles(FileFilter filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录File[]listFiles(FilenameFilter filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录static File[]listRoots()列出可用的文件系统根booleanmkdir()创建此抽象路径名指定的目录booleanmkdirs()创建此抽象路径名指定的目录,包括所有必需但不存在的父目录booleanrenameTo(File dest)重新命名此抽象路径名表示的文件booleansetExecutable(boolean executable)设置此抽象路径名所有者执行权限的一个便捷方法booleansetExecutable(boolean executable, boolean ownerOnly)设置此抽象路径名的所有者或所有用户的执行权限booleansetLastModified(long time)设置此抽象路径名指定的文件或目录的最后一次修改时间booleansetReadable(boolean readable)设置此抽象路径名所有者读权限的一个便捷方法booleansetReadable(boolean readable, boolean ownerOnly)设置此抽象路径名的所有者或所有用户的读权限booleansetReadOnly()标记此抽象路径名指定的文件或目录,从而只能对其进行读操作booleansetWritable(boolean writable)设置此抽象路径名所有者写权限的一个便捷方法booleansetWritable(boolean writable, boolean ownerOnly)设置此抽象路径名的所有者或所有用户的写权限StringtoString()返回此抽象路径名的路径名字符串URItoURI()构造一个表示此抽象路径名的 file: URI

使用示例

import java.io.File;import java.util.Date;public class FileDemo{   public static void main(String[] args)   {      // 实例化      File file = new File("data.xls");      System.out.println("文件名称:" + file.getName());      System.out.println("文件绝对路径:" + file.getAbsolutePath());      System.out.println("文件是否存在:" + file.exists());      System.out.println("文件是否为文件夹:" + file.isDirectory());      System.out.println("文件大小:" + file.length());      System.out.println("文件最后修改日期:" + new Date(file.lastModified()));      // .代表当前文件夹      File directory = new File(".");      // 列出文件夹内所有文件      File[] files = directory.listFiles();      if (files != null)      {         // 遍历文件数组         for (File file2 : files)         {            System.out.println(file2.getName() + "   "                  + (file2.isDirectory() ? "directory" : "file"));         }      }   }}

示例中使用了File常用的方法,没有使用的方法各位可以自己尝试一下看看效果。