国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > 文件操作(File类等)API摘要

文件操作(File类等)API摘要

来源:程序员人生   发布时间:2014-12-15 09:21:57 阅读次数:2877次


Console

此类包括多个方法,可访问与当前 Java 虚拟机关联的基于字符的控制台装备(如果有)。

虚拟机是不是具有控制台取决于底层平台,还取决于调用虚拟机的方式。如果虚拟机从1个交互式命令行开始启动,且没有重定向标准输入和输出流,那末其控制台将存在,并且通常连接到键盘并从虚拟机启动的地方显示。如果虚拟机是自动启动的(例如,由后台作业调度程序启动),那末它通常没有控制台。

如果此虚拟机具有控制台,那末它将由此类唯1的实例(可通过调用 System.console() 方法取得)表示。如果没有可用的控制台装备,那末对该方法的调用将返回 null。

读写操作是同步的,以保证关键操作能完全地完成;因此调用方法 readLine()、readPassword()、format()、printf() 和对 reader() 和 writer() 返回对象的读取、格式化和写入操作在多线程情况下可能阻塞。

在 reader() 和 writer() 返回的对象上调用close() 不会关闭这些对象的底层流。

在到达控制台输入流的尾部时,如键入control-D (Unix) 或键入 control-Z (Windows),读取控制台的方法将返回 null。如果以后在控制台输入装备上输入了其他字符,则后续读取操作将成功履行。

除非另行指定,否则将 null 参数传递给此类中的任何方法都会抛出 NullPointerException。

安全注释: 如果利用程序需要读取密码或其他安全数据,则它应当使用 readPassword() 或 readPassword(String, Object...),并在履行后手工将返回的字符数组归零,以最大限度地缩短内存中敏感数据的生存期。

 

Console cons; char[] passwd; if ((cons =System.console()) != null && (passwd =cons.readPassword("[%s]", "Password:"))!= null) { ... java.util.Arrays.fill(passwd,' '); }

*****************************************************************

主要方法

publicPrintWriter writer()获得与此控制台关联的唯1PrintWriter 对象。

 

public Reader reader()获得与此控制台关联的唯1 Reader 对象。

此方法仅供复杂利用程序(例如,利用Scanner 提供的丰富分析/扫描功能的 Scanner 对象)使用:

 

Console con =System.console(); if (con != null){ Scanner sc = newScanner(con.reader()); ... }

 对只需按行读取的简单利用程序,使用 readLine(java.lang.String, java.lang.Object...)。

每次调用时,对返回对象的批量读取操作read(char[]) 、read(char[], int, int) 和read(java.nio.CharBuffer) 不会读入行边界以外的字符,即便目标缓冲区还有可容纳更多字符的空间。以下字符之1被认为是行边界:换行 (' ')、回车 (' ')、回车后紧跟换行,或流末尾。

*****************************************************************

public Console format(String fmt, Object... args)使用指定格式字符串和参数将格式化字符串写入此控制台的输出流中。

 

参数:

fmt - 格式字符串语法中描写的格式字符串

args - 格式字符串中的格式说明符援用的参数。如果参数多于格式说明符,则疏忽额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量遭到 Java 虚拟机规范定义的 Java 数组最大维数的限制。null 参数的行动取决于转换。

返回:

此控制台

*****************************************************************

public Console printf(String format, Object... args)使用指定格式字符串和参数将格式化字符串写入此控制台输出流的便捷方法。

此方法con.printf(format, args) 情势的调用与以下调用的行动完全相同:

con.format(format,args).

参数:

format - 格式字符串语法中描写的格式字符串。

args - 格式字符串中的格式说明符援用的参数。如果参数多于格式说明符,则疏忽额外的参数。参数的数量是可变的,并且可以为零。参数的最大数量遭到 Java 虚拟机规范定义的 Java 数组最大维数的限制。null 参数的行动取决于转换。

返回:

此控制台

*****************************************************************

public String readLine(String fmt, Object... args)提供1个格式化提示,然后从控制台读取单行文本。

参数:

fmt - 格式字符串语法中描写的格式字符串。

args - 格式字符串中的格式说明符援用的参数。如果参数多于格式说明符,则疏忽额外的参数。参数的最大数量遭到 Java 虚拟机规范定义的 Java 数组最大维数的限制。

返回:

包括从控制台读取的行的字符串,该字符串不包括任何行终止符;如果已到达流的末尾,则返回 null。

*****************************************************************

public String readLine()从控制台读取单行文本。

 

返回:

包括从控制台读取的行的字符串,该字符串不包括任何行终止符;如果已到达流的末尾,则返回 null。

*****************************************************************

public char[] readPassword(String fmt, Object... args)提供1个格式化提示,然后从控制台读取密码,禁用回显。

 

参数:

fmt - 提示文本的格式字符串语法中描写的格式字符串。

args - 格式字符串中的格式说明符援用的参数。如果参数多于格式说明符,则疏忽额外的参数。参数的最大数量遭到 Java 虚拟机规范定义的 Java 数组最大维数的限制。

返回:

包括从控制台读取的密码的字符数组,该字符数组不包括任何行终止符;如果已到达流的末尾,则返回 null。

*****************************************************************

public char[] readPassword()从控制台读取密码,禁用回显。

 

返回:

包括从控制台读取的密码的字符数组,该字符数组不包括任何行终止符;如果已到达流的末尾,则返回 null。

 

public void flush()刷新控制台,并强迫立即写入所有缓冲的输出。

*****************************************************************

内部变量

static StringpathSeparator

          与系统有关的路径分隔符,为了方便,它被表示为1个字符串。

static charpathSeparatorChar

          与系统有关的路径分隔符。

static Stringseparator

          与系统有关的默许名称分隔符,为了方便,它被表示为1个字符串。

static charseparatorChar

          与系统有关的默许名称分隔符。

File

文件和目录路径名的抽象表示情势。

用户界面和操作系统使用与系统相干的路径名字符串 来命名文件和目录。此类显现分层路径名的1个抽象的、与系统无关的视图。抽象路径名有两个组件:

1个可选的与系统有关的前缀 字符串,比如盘符,"/"表示 UNIX 中的根目录,"\" 表示 Microsoft Windows UNC 路径名。

零个或更多字符串名称 的序列。

抽象路径名中的第1个名称是目录名,对Microsoft Windows UNC 路径名则是主机名。抽象路径名中第1个名称以后的每一个名称表示1个目录;最后1个名称既可以表示目录,也能够表示文件。空抽象路径名没有前缀和名称序列。

路径名字符串与抽象路径名之间的转换与系统有关。将抽象路径名转换为路径名字符串时,每一个名称与下1个名称之间用1个默许分隔符隔开。默许名称分隔符由系统属性 file.separator 定义,可通过此类的公共静态字段 separator 和 separatorChar 使其可用。将路径名字符串转换为抽象路径名时,可使用默许名称分隔符或底层系统支持的任何其他名称分隔符来分隔其中的名称。

不管是抽象路径名还是路径名字符串,都可以是绝对 路径名或相对 路径名。绝对路径名是完全的路径名,不需要任何其他信息就能够定位它所表示的文件。相反,相对路径名必须使用取自其他路径名的信息进行解释。默许情况下,java.io 包中的类总是根据当前用户目录来解析相对路径名。此目录由系统属性 user.dir 指定,通常是 Java 虚拟机的调用目录。

调用此类的 getParent() 方法可以获得抽象路径名的父 路径名,它由路径名前缀和路径名名称序列中的每一个名称(最后1个除外)组成。对任何具有绝对抽象路径名的 File 对象,如果其绝对抽象路径名以某个目录的绝对路径名开头,那末该目录的绝对路径名是该 File 对象的先人。例如,抽象路径名 "/usr" 表示的目录是路径名 "/usr/local/bin" 所表示目录的1个先人。

在处理 UNIX 平台的根目录,和Microsoft Windows 平台的盘符、根目录和 UNC 路径名时,将用到前缀这1概念。以下所示:

对 UNIX 平台,绝对路径名的前缀始终是 "/"。相对路径名没有前缀。表示根目录的绝对路径名的前缀为 "/" 且名称序列为空。

对 Microsoft Windows 平台,包括盘符的路径名前缀由驱动器号和1个 ":" 组成。如果路径名是绝对路径名,还可能后跟 ""。UNC 路径名的前缀是 "\";主机名和同享名是名称序列中的前两个名称。没有指定驱动器的相对路径名没有前缀。

此类的实例可能表示(也可能不表示)实际文件系统对象,如文件或目录。如果它表示这类对象,那末该对象驻留在1个分区中。分区是文件系统特定于操作系统的存储分区。1个存储装备(例如,物理磁盘驱动器、闪存、CD-ROM)可以包括多个分区。对象(如果有)将驻留在此路径名(绝对情势)某个先人指定的分区上。

文件系统可以实现对实际文件系统对象上的某些操作(比如,读、写、履行)进行限制。这些限制统称为访问权限。文件系统可以对1个对象设置多个访问权限。例如,1个设置可能适用于对象的所有者,另外一个设置则可能适用于所有其他用户。对象上的访问权限可能致使此类的某些方法履行失败。

File 类的实例是不可变的;也就是说,1旦创建,File 对象表示的抽象路径名将永不改变。

*****************************************************************

构造方法

File(Fileparent, String child)

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

File(Stringpathname)

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

File(Stringparent, String child)

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

File(URI uri)

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

*****************************************************************

主要方法

public staticFile[] listRoots()列出可用的文件系统根。

特定 Java 平台可以支持零个或更多个分层组织的文件系统。每一个文件系统有1个 root 目录,可以从这里到达文件系统中的所有其他文件。例如,Windows 平台为每一个活动驱动器提供了1个根目录;UNIX 平台只有1个根目录,即 "/"。可用文件系统根的设置受各种系统级操作的影响,比如可移动介质的插入和弹出,和断开或卸载那些物理磁盘或虚拟磁盘。

此方法返回1个 File 对象数组,这些对象表示可用文件系统根的根目录。可以保证本地机器上物理存在的任何文件的规范路径名都以此方法返回的根之1开始。

位于其他1些机器上的文件的规范路径名是通过远程文件系统协议(比如 SMB 或 NFS)访问的,它们可能以此方法返回的根之1开始,也可能不是这样。如果远程文件的路径名在语法上没法与本地文件的路径名进行辨别,那末它将以此方法返回的根之1开始。例如,此方法将返回表示 Windows 平台上映照为网络驱动器根目录的 File 对象,而不返回包括 UNC 路径名的 File 对象。

与此类中的大多数方法不同,此方法不抛出安全性异常。如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法谢绝对特定根目录进行读访问,那末该目录将不会出现在结果中。

 

返回:

表示可用文件系统根的 File 对象数组;如果没法肯定根集,则返回 null。如果没有文件系统,那末该数组将为空。

*****************************************************************

public staticFile createTempFile(String prefix,String suffix, File directory)

                           throws IOException在指定目录中创建1个新的空文件,使用给定的前缀和后缀字符串生成其名称。如果此方法成功返回,则可以保证:

由返回的抽象路径名表示的文件在此方法被调用之前不存在。

此方法及其所有变体都不会在虚拟机确当前调用中再次返回相同的抽象路径名。

此方法只提供了临时文件的部份功能。要安排自动删除此方法创建的文件,可以使用 deleteOnExit() 方法。

prefix 参数最少必须是3个字节长。建议前缀使用1个短的、成心义的字符串,比如 "hjb" 或 "mail"。suffix 参数可以为 null,在这类情况下,将使用后缀 ".tmp"。

要创建新文件,可能首先要调剂前缀和后缀,使其满足底层平台的限制。如果前缀太长,则将它截断,但前3个字符将始终保存。如果后缀太长,则将它截断,但如果它以句点字符 ('.') 开始,则该句点和后跟的前3个字符将始终保存。进行了这些调剂后,通过连接前缀、5个或更多个内部生成的字符和后缀,便生成了新文件的名称。

如果 directory 参数为 null,则使用与系统有关的默许临时文件目录。默许临时文件目录由系统属性 java.io.tmpdir 指定。在 UNIX 系统上,此属性的默许值通常是 "/tmp" 或 "/var/tmp";在 Microsoft Windows 系统上,该值通常是 "C:WINNTTEMP"。在调用 Java 虚拟机时,可为此系统属性提供不同的值,但不保证使用程序更改此属性会对此方法使用的临时目录产生影响。

 

参数:

prefix - 用于生成文件名的前缀字符串;必须最少是3字符长

suffix - 用于生成文件名的后缀字符串;可以为 null,在这类情况下,将使用后缀 ".tmp"

directory - 将创建的文件所在的目录;如果使用默许临时文件目录,则该参数为 null

返回:

表示新建空文件的抽象路径名

*****************************************************************

public staticFile createTempFile(String prefix,String suffix)

                           throws IOException在默许临时文件目录中创建1个空文件,使用给定前缀和后缀生成其名称。调用此方法同等于调用 createTempFile(prefix, suffix, null)。

 

参数:

prefix - 用于生成文件名的前缀字符串;必须最少是3字符长

suffix - 用于生成文件名的后缀字符串;可以为 null,在这类情况下,将使用后缀 ".tmp"

返回:

表示新建空文件的抽象路径名

*****************************************************************

public String getName()返回由此抽象路径名表示的文件或目录的名称。该名称是路径名名称序列中的最后1个名称。如果路径名名称序列为空,则返回空字符串。

 

返回:

此抽象路径名表示的文件或目录的名称;如果路径名的名称序列为空,则返回空字符串

*****************************************************************

public String getParent()返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。

抽象路径名的父 路径名由路径名的前缀(如果有),和路径名名称序列中最后1个名称之外的所着名称组成。如果名称序列为空,那末该路径名没有指定父目录。

 

返回:

此抽象路径名指定父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null

*****************************************************************

public File getParentFile()返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。

抽象路径名的父 路径名由路径名的前缀(如果有),和路径名名称序列中最后1个名称之外的所着名称组成。如果名称序列为空,那末该路径名没有指定父目录。

 

返回:

此抽象路径名指定父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null

*****************************************************************

public String getPath()将此抽象路径名转换为1个路径名字符串。所得字符串使用默许名称分隔符分隔名称序列中的名称。

 

返回:

此抽象路径名的字符串情势

*****************************************************************

public String getAbsolutePath()返回此抽象路径名的绝对路径名字符串。

如果此抽象路径名已是绝对路径名,则返回该路径名字符串,这与 getPath() 方法1样。如果此抽象路径名是空抽象路径名,则返回当前用户目录的路径名字符串,该目录由系统属性 user.dir 指定。否则,使用与系统有关的方式解析此路径名。在 UNIX 系统上,根据当前用户目录解析相对路径名,可以使该路径名成为绝对路径名。在 Microsoft Windows 系统上,根据路径名指定确当先驱动器目录(如果有)解析相对路径名,可以使该路径名成为绝对路径名;否则,可以根据当前用户目录解析它。

 

返回:

绝对路径名字符串,它与此抽象路径名表示相同的文件或目录

*****************************************************************

public File getAbsoluteFile()返回此抽象路径名的绝对路径名情势。同等于 new File(this.getAbsolutePath())。

 

返回:

绝对抽象路径名,它与此抽象路径名表示相同的文件或目录

*****************************************************************

public URI toURI()构造1个表示此抽象路径名的 file:URI。

该 URI 的具体情势与系统有关。如果可以肯定此抽象路径名表示的文件是1个目录,那末所得 URI 将以斜杠结束。

对某个给定抽象路径名 f,可保证:

new File(f.toURI()).equals( f.getAbsoluteFile())

只要原始抽象路径名、URI 和新抽象路径名都是在同1Java 虚拟机(或它的不同调用)中创建的。但是,由于抽象路径名与系统有关的特性,当在某1操作系统上的虚拟机中创建的 file: URI 在不同操作系统上的虚拟机中被转换为抽象路径名时,这类关系通常是不成立的。

 

返回:

1个绝对分层 URI,由1个等于"file" 的 scheme、表示此抽象路径名的 path,和未定义的 authority、query 和 fragment 组件组成

*****************************************************************

public boolean delete()删除此抽象路径名表示的文件或目录。如果此路径名表示1个目录,则该目录必须为空才能删除。

 

返回:

当且仅当做功删除文件或目录时,返回true;否则返回 false

*****************************************************************

public boolean exists()测试此抽象路径名表示的文件或目录是不是存在。

 

返回:

*****************************************************************

public boolean isDirectory()测试此抽象路径名表示的文件是不是是1个目录。

返回:

当且仅当此抽象路径名表示的文件存在且 是1个目录时,返回true;否则返回 false

*****************************************************************

public boolean isFile()测试此抽象路径名表示的文件是不是是1个标准文件。如果该文件不是1个目录,并且满足其他与系统有关的标准,那末该文件是标准文件。由 Java 利用程序创建的所有非目录文件1定是标准文件。

 

返回:

当且仅当此抽象路径名表示的文件存在且 是1个标准文件时,返回true;否则返回 false

*****************************************************************

public boolean isHidden()测试此抽象路径名指定的文件是不是是1个隐藏文件。隐藏 的具体定义与系统有关。在UNIX 系统上,如果文件名以句点字符 ('.') 开头,则认为该文件被隐藏。在 Microsoft Windows 系统上,如果在文件系统中文件被标记为隐藏,则认为该文件被隐藏。

 

返回:

当且仅当此抽象路径名表示的文件根据底层平台约定是隐藏文件时,返回 true

*****************************************************************

public long lastModified()返回此抽象路径名表示的文件最后1次被修改的时间。

 

返回:

表示文件最后1次被修改的时间的 long 值,用与时间点(1970 年 1 月 1 日,00:00:00GMT)之间的毫秒数表示;如果该文件不存在,或产生 I/O 毛病,则返回 0L

*****************************************************************

public long length()返回由此抽象路径名表示的文件的长度。如果此路径名表示1个目录,则返回值是不肯定的。

 

返回:

此抽象路径名表示的文件的长度,以字节为单位;如果文件不存在,则返回 0L。对表示特定于系统的实体(比如装备或管道)的路径名,某些操作系统可能返回 0L。

*****************************************************************

public boolean createNewFile()

                      throws IOException当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建1个新的空文件。检查文件是不是存在,若不存在则创建该文件,这是单个操作,对其他所有可能影响该文件的文件系统活动来讲,该操作是不可分的。

注:此方法不应当 用于文件锁定,由于所得协议可能没法可靠地工作。应当使用 FileLock 机制替换。

 

返回:

如果指定的文件不存在并成功地创建,则返回true;如果指定的文件已存在,则返回 false

*****************************************************************

public String[] list()返回1个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。

如果此抽象路径名不表示1个目录,那末此方法将返回 null。否则返回1个字符串数组,每一个数组元素对应目录中的每一个文件或目录。表示目录本身及其父目录的名称不包括在结果中。每一个字符串是1个文件名,而不是1条完全路径。

 

不保证所得数组中的相同字符串将以特定顺序出现,特别是不保证它们按字母顺序出现。

 

返回:

字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。如果目录为空,那末数组也将为空。如果此抽象路径名不表示1个目录,或产生 I/O 毛病,则返回 null。

*****************************************************************

public String[] list(FilenameFilter filter)返回1个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。除返回数组中的字符串必须满足过滤器外,此方法的行动与 list() 方法相同。如果给定 filter 为 null,则接受所着名称。否则,当且仅当在此抽象路径名及其表示的目录中的文件名或目录名上调用过滤器的 FilenameFilter.accept(java.io.File, java.lang.String) 方法返回 true 时,该名称才满足过滤器。

 

参数:

filter - 文件名过滤器

返回:

字符串数组,这些字符串指定此抽象路径名表示的目录中给定 filter 能接受的文件和目录。如果目录为空,或没着名称被过滤器接受,那末该数组将为空。如果抽象路径名不表示1个目录,或产生 I/O 毛病,则返回 null。

*****************************************************************

public File[] listFiles()返回1个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。

如果此抽象路径名不表示1个目录,那末此方法将返回 null。否则返回1个 File 对象数组,每一个数组元素对应目录中的每一个文件或目录。表示目录本身及其父目录的名称不包括在结果中。得到的每一个抽象路径名都是根据此抽象路径名,使用 File(File, String) 构造方法构造的。所以,如果此路径名是绝对路径名,那末得到的每一个路径名都是绝对路径名;如果此路径名是相对路径名,那末得到的每一个路径名都是相对同1目录的路径名。

不保证所得数组中的相同字符串将以特定顺序出现,特别是不保证它们按字母顺序出现。

 

返回:

抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。如果目录为空,那末数组也将为空。如果抽象路径名不表示1个目录,或产生 I/O 毛病,则返回 null。

*****************************************************************

public File[] listFiles(FilenameFilter filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。除返回数组中的路径名必须满足过滤器外,此方法的行动与 listFiles() 方法相同。如果给定 filter 为 null,则接受所有路径名。否则,当且仅当在此抽象路径名及其表示的目录中的文件名或目录名上调用过滤器的 FilenameFilter.accept(java.io.File, java.lang.String) 方法返回 true 时,该路径名才满足过滤器。

 

参数:

filter - 文件名过滤器

返回:

抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。如果目录为空,那末数组也将为空。如果此抽象路径名不表示1个目录,或产生 I/O 毛病,则返回 null。

*****************************************************************

public File[] listFiles(FileFilter filter)返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。除返回数组中的路径名必须满足过滤器外,此方法的行动与 listFiles() 方法相同。如果给定 filter 为 null,则接受所有路径名。否则,当且仅当在路径名上调用过滤器的 FileFilter.accept(java.io.File) 方法返回 true 时,该路径名才满足过滤器。

 

参数:

filter - 文件过滤器

返回:

抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件和目录。如果目录为空,那末数组也将为空。如果抽象路径名不表示1个目录,或产生 I/O 毛病,则返回 null。

*****************************************************************

public boolean mkdir()创建此抽象路径名指定的目录。

 

返回:

当且仅当已创建目录时,返回 true;否则返回 false

*****************************************************************

public boolean mkdirs()创建此抽象路径名指定的目录,包括所有必须但不存在的父目录。注意,此操作失败时也可能已成功地创建了1部份必须的父目录。

 

返回:

当且仅当已创建目录和所有必须的父目录时,返回 true;否则返回 false

*****************************************************************

public boolean renameTo(File dest)重新命名此抽象路径名表示的文件。

此方法行动的许多方面都是与平台有关的:重命名操作没法将1个文件从1个文件系统移动到另外一个文件系统,该操作不是不可分的,如果已存在具有目标抽象路径名的文件,那末该操作可能没法取得成功。应当始终检查返回值,以确珍重命名操作成功。

 

参数:

dest - 指定文件的新抽象路径名

返回:

当且仅当重命名成功时,返回 true;否则返回 false

*****************************************************************

public boolean setLastModified(long time)设置此抽象路径名指定的文件或目录的最后1次修改时间。

所有平台都支持将文件修改时间设置为最接近的秒数,而且1些平台会提供更精确的值。该参数将被截取,以满足受支持的精度。如果该操作成功,并且没有在文件上产生其他干扰操作,则下1次调用 lastModified() 方法将返回传递给此方法的 time 参数(可能被截取)。

 

参数:

time - 新的最后1次修改时间,用与时间点(1970 年 1 月 1 日,00:00:00 GMT)之间的毫秒数表示

返回:

当且仅当该操作成功时,返回 true;否则返回 false

*****************************************************************

public boolean setReadOnly()标记此抽象路径名指定的文件或目录,从而只能对其进行读操作。调用此方法后,可以保证在被删除或被标记为允许写访问之前,文件或目录不会产生更改。是不是可以删除某个只读文件或目录则取决于底层系统。

 

返回:

当且仅当该操作成功时,返回 true;否则返回 false

*****************************************************************

public boolean setWritable(boolean writable, booleanownerOnly)设置此抽象路径名的所有者或所有用户的写权限。

 

参数:

writable - 如果为 true,则设置允许写操作的访问权限;如果为 false,则不允许写操作。

ownerOnly - 如果为 true,则写权限只适用于所有者的写权限;否则适用于所有用户。如果底层文件系统不能辨别所有者写权限与其他写权限,那末不管该参数为什么值,写权限将适用于所有用户。

返回:

当且仅当操作成功时返回 true。如果用户不具有更改此抽象路径名访问权限的权限,那末操作将失败。

*****************************************************************

public boolean setWritable(boolean writable)设置此抽象路径名所有者写权限的1个便捷方法。

此方法file.setWritable(arg) 情势的调用与以下调用的行动完全相同:

 

     file.setWritable(arg, true)

参数:

writable - 如果为 true,则设置允许写操作的访问权限;如果为 false,则不允许写操作。

返回:

当且仅当操作成功时返回 true。如果用户不具有更改此抽象路径名访问权限的权限,那末操作将失败。

*****************************************************************

public boolean setReadable(boolean readable, booleanownerOnly)设置此抽象路径名的所有者或所有用户的读权限。

 

参数:

readable - 如果为 true,则设置允许读操作的访问权限;如果为 false,则不允许读操作。

ownerOnly - 如果为 true,则读权限只适用于所有者的读权限;否则适用于所有用户。如果底层文件系统不能辨别所有者读权限与其他读权限,那末不管该参数为什么值,读权限将适用于所有用户。

返回:

当且仅当操作成功时返回 true。如果用户不具有更改此抽象路径名访问权限的权限,那末操作将失败。如果 readable 为 false,并且底层文件系统不实现读权限,那末操作也将失败。

*****************************************************************

public boolean setReadable(boolean readable)设置此抽象路径名所有者读权限的1个便捷方法。

此方法file.setReadable(arg) 情势的调用与以下调用的行动完全相同:

 

     file.setReadable(arg, true)

参数:

readable - 如果为 true,则设置允许读操作的访问权限;如果为 false,则不允许读操作。

返回:

当且仅当操作成功时返回 true。如果用户不具有更改此抽象路径名访问权限的权限,那末操作将失败。如果 readable 为 false,并且底层文件系统不实现读权限,那末操作也将失败。

*****************************************************************

public staticFile[] listRoots()列出可用的文件系统根。

特定 Java 平台可以支持零个或更多个分层组织的文件系统。每一个文件系统有1个 root 目录,可以从这里到达文件系统中的所有其他文件。例如,Windows 平台为每一个活动驱动器提供了1个根目录;UNIX 平台只有1个根目录,即 "/"。可用文件系统根的设置受各种系统级操作的影响,比如可移动介质的插入和弹出,和断开或卸载那些物理磁盘或虚拟磁盘。

此方法返回1个 File 对象数组,这些对象表示可用文件系统根的根目录。可以保证本地机器上物理存在的任何文件的规范路径名都以此方法返回的根之1开始。

位于其他1些机器上的文件的规范路径名是通过远程文件系统协议(比如 SMB 或 NFS)访问的,它们可能以此方法返回的根之1开始,也可能不是这样。如果远程文件的路径名在语法上没法与本地文件的路径名进行辨别,那末它将以此方法返回的根之1开始。例如,此方法将返回表示 Windows 平台上映照为网络驱动器根目录的 File 对象,而不返回包括 UNC 路径名的 File 对象。

与此类中的大多数方法不同,此方法不抛出安全性异常。如果存在安全管理器,且其 SecurityManager.checkRead(java.lang.String) 方法谢绝对特定根目录进行读访问,那末该目录将不会出现在结果中。

 

返回:

表示可用文件系统根的 File 对象数组;如果没法肯定根集,则返回 null。如果没有文件系统,那末该数组将为空。

FileDescriptor

文件描写符类的实例用作与基础机器有关的某种结构的不透明句柄,该结构表示开放文件、开放套接字或字节的另外一个源或接收者。文件描写符的主要实际用处是创建1个包括该结构的 FileInputStream 或 FileOutputStream。

*****************************************************************

内部变量

staticFileDescriptor err

          标准毛病流的句柄。

staticFileDescriptor in

          标准输入流的句柄。

staticFileDescriptor out

          标准输出流的句柄。

*****************************************************************

主要方法

public boolean valid()测试此文件描写符对象是不是有效。

*****************************************************************

public void sync()

          throws SyncFailedException强迫所有系统缓冲区与基础装备同步。该方法在此 FileDescriptor 的所有修改数据和属性都写入相干装备后返回。特别是,如果此 FileDescriptor 援用物理存储介质,比如文件系统中的文件,则1直要等到将与此FileDesecriptor 有关的缓冲区的所有内存中修改副本写入物理介质中,sync 方法才会返回。 sync 方法由要求物理存储(比例文件)处于某种已知状态下的代码使用。例如,提供简单事务处理设施的类可使用 sync 来确保某个文件所有由给定事务酿成的更改都记录在存储介质上。 sync 只影响此 FileDescriptor 的缓冲区下游。如果正通过利用程序(例如,通过1个 BufferedOutputStream 对象)实现内存缓冲,那末必须在数据受 sync 影响之前将这些缓冲区刷新,并转到 FileDescriptor 中(例如,通过调用 OutputStream.flush)。

RandomAccessFile implements DataOutput,DataInput,

此类的实例支持对随机访问文件的读取和写入。随机访问文件的行动类似存储在文件系统中的1个大型 byte 数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访问文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组确当前末尾以后的输出操作致使该数组扩大。该文件指针可以通过 getFilePointer 方法读取,并通过 seek 方法设置。

通常,如果此类中的所有读取例程在读取所需数量的字节之前已到达文件末尾,则抛出 EOFException(是1种 IOException)。如果由于某些缘由没法读取任何字节,而不是在读取所需数量的字节之前已到达文件末尾,则抛出 IOException,而不是 EOFException。需要特别指出的是,如果流已被关闭,则可能抛出 IOException。

 

构造方法

RandomAccessFile(Filefile, String mode)

          创建从中读取和向其中写入(可选)的随机访问文件流,该文件由 File 参数指定。

RandomAccessFile(Stringname, String mode)

          创建从中读取和向其中写入(可选)的随机访问文件流,该文件具有指定名称。

 

import java.io.*; class hello{ public static void main(String[] args)throws IOException { StringfileName="D:"+File.separator+"hello.txt"; File f=new File(fileName); RandomAccessFile demo=newRandomAccessFile(f,"rw"); demo.writeBytes("asdsad"); demo.writeInt(12); demo.writeBoolean(true); demo.writeChar('A'); demo.writeFloat(1.21f); demo.writeDouble(12.123); demo.close(); } }


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生