/**
* @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:MyEclipseworkspaceColumnChart简历.txt
抽象路径名的绝对路径名形式:D:MyEclipseworkspaceColumnChart简历.txt
规范路径名:D:MyEclipseworkspaceColumnChart简历.txt
抽象路径名的规范形式:D:MyEclipseworkspaceColumnChart简历.txt
URL:file:/D:/MyEclipse/workspace/ColumnChart/简历.txt
URI:file:/D:/MyEclipse/workspace/ColumnChart/简历.txt
读取此抽象路径名:false
修改此抽象路径名:false