您的位置 首页 java

Java IO | File对象详解

构造方法

根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。

File(File parent, String child)

通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

File(String pathname)

根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

File(String parent, String child)

通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。

File(URI uri)

File API分类

文件自身属性读取

  • getName()
  • getParent()
  • getParentFile()
  • getPath()
  • isHidden()
  • lastModified()
  • length()
  • isAbsolute()
  • isDirectory()
  • isFile()
  • exists()
  • getAbsoluteFile()
  • getAbsolutePath()
  • getCanonicalFile()
  • getCanonicalPath()
  • getFreeSpace()
  • getTotalSpace()
  • getUsableSpace()

创建文件/目录基本操作

  • mkdir()
  • mkdirs()
  • delete()
  • deleteOnExit()
  • renameTo(File)
  • createTempFile(String, String)
  • createTempFile(String, String, File)
  • createNewFile()
  • 文件/目录 列表读取
  • listRoots()
  • list()
  • list(FilenameFilter)
  • listFiles()
  • listFiles(FileFilter)
  • listFiles(FilenameFilter)

文件权限访问以及文件信息设置

  • canExecute()
  • canRead()
  • canWrite()
  • setExecutable(boolean)
  • setExecutable(boolean, boolean)
  • setReadable(boolean)
  • setReadable(boolean, boolean)
  • setReadOnly()
  • setWritable(boolean)
  • setWritable(boolean, boolean)
  • setLastModified(long)

其他

  • toPath()
  • toString()
  • toURI()
  • equals(Object)
  • compareTo(File)
  • hashCode()

FileSystem简介

操作系统有各自的文件系统,这些文件系统又存在很多差异,而Java 因为是跨平台的,所以它必须要统一处理这些不同平台文件系统之间的差异,才能往上提供统一的入口。通过接口来实现统一不同的操作系统实现这个接口,就可以提供统一的表现形式。FileSystem是一个抽象类windows下的实现类为:WinNTFileSystem,在IDE中可以直接找到可能你只是找到了一个WinNTFileSystem,只有一个实现类?接口还有什么意思?
如果你目前只看到了一个WinNTFileSystem 那说明你在Windows下。WinNTFileSystem类 和 UnixFileSystem类并不是在同一个 JDK 里面,也就是说它们是分开的。你只能在 Windows 版本的 JDK 中找到 WinNTFileSystem,而在 Linux 版本的 JDK 中找到 UnixFileSystem。同样地,其他操作系统也有自己的文件系统实现类。接下来大致地看下WinNTFileSystem。

//斜杠符号

private final char slash;

//与slash相反的斜杠

private final char altSlash;

//分号

private final char semicolon;

//表示驱动盘目录缓存

private static String[] driveDirCache = new String[26];

//用于缓存标准路径

private ExpiringCache cache = new ExpiringCache();

//用于缓存标准路径前缀

private ExpiringCache prefixCache = new ExpiringCache();

文章来源:智云一二三科技

文章标题:Java IO | File对象详解

文章地址:https://www.zhihuclub.com/177686.shtml

关于作者: 智云科技

热门文章

网站地图