/** * @Title:JavaFile.java * @Package:com.yhd.chart.model * @Description:File类测试 * @author:Youhaidong(游海东) * @date:2014-1-18 下午7:51:39 * @version V1.0 */ package com.yhd.chart.model; import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URL; /** * 类功能说明 * 类修改者 修改日期 * 修改说明 * <p>Title:JavaFile.java</p> * <p>Description:游海东个人开发</p> * <p>Copyright:Copyright(c)2013</p> * @author:游海东 * @date:2014-1-18 下午7:51:39 * @version V1.0 */ public class JavaFile { /** * @throws IOException * @Title:main * @Description: File类 * @param:@param args * @return: void * @throws */ @SuppressWarnings("deprecation") public static void main(String[] args) throws IOException { /**创建一个file对象**/ File file = new File("简历.txt"); /** * 1、返回由此抽象路径名表示的文件或目录的名称; * 2、该名称是路径名的名称序列中的最后一个名称; * 3、如果路径名的名称序列为空,则返回空字符串。 */ String fileName = file.getName(); System.out.println("文件名称:" + fileName); /** * 1、返回此抽象路径名的父路径名的路径名字符串; * 2、如果此路径名没有指定父目录,则返回 null; * 3、抽象路径名的父 路径名由路径名的前缀(如果有) * 以及路径名的名称序列中最后一个名称以外的所有名称组成。 */ String parentName = file.getParent(); System.out.println("父路径名:" + parentName); /** * 1、返回此抽象路径名的父路径名的抽象路径名; * 2、如果此路径名没有指定父目录,则返回 null; * 3、抽象路径名的父 路径名由路径名的前缀(如果有) * 以及路径名的名称序列中最后一个名称以外的所有名称组成; * 4、如果名称序列为空,那么该路径名没有指定父目录。 */ File parentFileName = file.getParentFile(); System.out.println("父路径名的抽象路径名:" + parentFileName); /** * 1、将此抽象路径名转换为一个路径名字符串; * 2、所得到的字符串使用默认名称分隔符来分隔名称序列中的名称。 */ String pathName = file.getPath(); System.out.println("抽象路径名:" + pathName); /** * 1、测试此抽象路径名是否为绝对路径名; * 2、绝对路径名的定义与系统有关; * 3、如果此抽象路径名是绝对路径名,则返回 true;否则返回 false。 */ boolean isAbsolute = file.isAbsolute(); System.out.println("测试此抽象路径名是否为绝对路径名:" + isAbsolute); /** * 1、返回抽象路径名的绝对路径名字符串; * 2、如果此抽象路径名已经是绝对路径名,则返回该路径名字符串。 */ String absolutePath = file.getAbsolutePath(); System.out.println("绝对路径名:" + absolutePath); /** * 1、返回抽象路径名的绝对路径名形式; * 2、等同于 new File(this.getAbsolutePath()()); * 3、返回:表示与此抽象路径名相同的文件或目录的绝对抽象路径名 ; * 4、抛出:SecurityException - 如果无法访问所需的系统属性值。 */ File absoluteFile = file.getAbsoluteFile(); System.out.println("抽象路径名的绝对路径名形式:" + absoluteFile); /** * 1、返回抽象路径名的规范路径名字符串; * 2、规范路径名是绝对路径名,并且是惟一的; * 3、返回:表示与此抽象路径名相同的文件或目录的规范路径名字符串 ; * 4、抛出:IOException - 如果发生 I/O 错误(可能是因为构造规范路径名需要进行文件系统查询)。 */ String canonicalPath = file.getCanonicalPath(); System.out.println("规范路径名:" + canonicalPath); /** * 1、返回此抽象路径名的规范形式; * 2、等同于 new File(this.getCanonicalPath()()); * 3、返回:表示与此抽象路径名相同的文件或目录的规范路径名字符串 ; * 4、抛出:IOException - 如果发生 I/O 错误(可能是因为构造规范路径名需要进行文件系统查询)。 */ File canonicalFile = file.getCanonicalFile(); System.out.println("抽象路径名的规范形式:" + canonicalFile); /** * 1、将此抽象路径名转换成一个 file:URL; * 2、该 URL 的具体形式与系统有关; * 3、返回:表示等效文件 URL的 URL对象 ; * 4、抛出:MalformedURLException - 如果无法将路径分析为 URL。 */ URL toUrl = file.toURL(); System.out.println("URL:" + toUrl); /** * 1、构造一个表示此抽象路径名的 file: URI; * 2、该 URI的具体形式与系统有关; * 3、返回:一个绝对的分层 URI,由一个等于 "file" * 的 scheme、非空的 path 组件,以及未定义的 authority、 * query 和 fragment 组件组成。 */ URI toUri = file.toURI(); System.out.println("URI:" + toUri); /** * 1、测试应用程序是否可以读取此抽象路径名表示的文件; * 2、返回:当且仅当此抽象路径名指定的文件存在且 可由 * 应用程序读取时,返回 true;否则返回 false ; * 3、抛出:SecurityException - 如果存在安全管理器, * 且其 SecurityManager.checkRead(java.lang.String) * 方法拒绝对文件进行读取访问。 */ boolean canRead = file.canRead(); System.out.println("读取此抽象路径名:" + canRead); /** * 1、测试应用程序是否可以修改此抽象路径名表示的文件; * 2、返回:当且仅当文件系统实际包含此抽象路径名表示 * 的文件且 允许应用程序对该文件进行写入时, * 返回 true,否则返回 false; * 3、抛出:SecurityException - 如果存在安全管理器, * 且其 SecurityManager.checkWrite(java.lang.String) * 方法拒绝对文件进行写入访问。 */ boolean canWrite = file.canWrite(); System.out.println("修改此抽象路径名:" + canWrite); } }
返回结果:
文件名称:简历.txt 父路径名:null 父路径名的抽象路径名:null 抽象路径名:简历.txt 测试此抽象路径名是否为绝对路径名:false 绝对路径名:D:\MyEclipse\workspace\ColumnChart\简历.txt 抽象路径名的绝对路径名形式:D:\MyEclipse\workspace\ColumnChart\简历.txt 规范路径名:D:\MyEclipse\workspace\ColumnChart\简历.txt 抽象路径名的规范形式:D:\MyEclipse\workspace\ColumnChart\简历.txt URL:file:/D:/MyEclipse/workspace/ColumnChart/简历.txt URI:file:/D:/MyEclipse/workspace/ColumnChart/简历.txt 读取此抽象路径名:false 修改此抽象路径名:false