/**
 * @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

Java中File类总结的更多相关文章

  1. java中File类的常用方法总结

    java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...

  2. Java 中File类的createNewFile()与createTempFile(), delete和deleteOnExit区别

    1. Java 中File类的createNewFile()与createTempFile()的区别 最近,在看代码时看到了一个方法, File.createTempFile() ,由此联想到File ...

  3. Java中File类的基本用法

    File类的基本用法 java.io.File类:代表文件和目录.在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到此类. File类的常用构造方法:public File(Strin ...

  4. java中File类的使用

    public class FileLei {    public static void main(String[] args) throws IOException {        //..表示上 ...

  5. java中File类的相关学习

    File类 1.关于系统路径分割符. 在Windows中,使用反斜杠“\”作为路径分割符,比如“c:\test”,但是java中反斜杠表示转义,所以需要用“C:\\test”在程序中来表示路径.还可以 ...

  6. java中File类的常用所有方法及其应用

    创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir()  在指定位置创建一个单级文件夹.mkdirs()  在指定位置 ...

  7. java中File类中list()和listFiles()方法区别

    list()和listFiles()方法区别: 1.返回值类型不同:前者为String数组,后者为File对象数组 2.数组中元素内容不同:前者为string类型的[文件名](包含后缀名),后者为Fi ...

  8. Java中File类的方法详解

    File类也是Java中一个比较重要的类,通过他我们可以实现对文件的一系列操作,其内置了很多方法,下面我将按方法的功能分块,逐一讲解: 快速导航 构造方法 常用方法 创建目录 判断 `is...` t ...

  9. java中File类应用:遍历文件夹下所有文件

    练习: 要求指定文件夹下的所有文件,包括子文件夹下的文件 代码: package 遍历文件夹所有文件; import java.io.File; public class Test { public ...

随机推荐

  1. Windows下Nginx实现负载均衡

    Apache,Nginx Apache和Nginx都属于属于 静态页面服务器,都有插件支持动态编程语言处理,但Nginx的IO模比Apache更适合跑代理.所以一般都作为前端缓冲代理(Nginx的反向 ...

  2. JAVA List根据字段排序以及取前几条数据

    1.经常会遇到对组装的list排序或提取list中前几条数据,例如: 根据时间排序: list.sort((o1, o2) -> o2.getCreateTime().compareTo(o1. ...

  3. MUI 图片上传实现

    HTML代码 <!doctype html> <html> <head> <meta charset="UTF-8"> <ti ...

  4. 基于tomcat+springMVC搭建基本的前后台交互系统

    一.摘要 1.所需软件列表: 1) tomcat :  apache-tomcat-7.0.54  服务端容器 2) Intellij: Intellij IDEA 14.0.3         开发 ...

  5. C# Sap Rfc 连接代码实例

    根据不同的需求,安装不同位数的 Rfc SDK 1.构造 Sap Adress Information,且继承 IDestinationConfiguration public class SapAd ...

  6. verilog实验2:基于FPGA的59秒计时器设计

    一.实验任务 利用四个数码管显示59秒计时器. 二.代码实现 将开发板的48M晶振分频出1M,然后计数器累加,将计数器结果显示在数码管上.低位逢十进一,第二位逢五进一,依次构成59秒计时器. 部分代码 ...

  7. Spring整合JMS(二)——三种消息监听器

    原文地址:http://haohaoxuexi.iteye.com/blog/1893676 1.3     消息监听器MessageListener 在Spring整合JMS的应用中我们在定义消息监 ...

  8. gitlab wiki 500

    记录一次使用gitlab各种报500的问题,并怎么解决的描述下 一.问题背景 描述我第一次使用wiki的步骤: 二.问题描述 之后我进行任何合法的操作(创建页面使用全英文名称:页面不做任何修改,只是点 ...

  9. GO开发:接口

    接口 接口定义 Interface类型可以定义一组方法,但是这些不需要实现.并且interface不能包含任何变量. type example interface{ Method1(参数列表) 返回值 ...

  10. NSData 与 NSString 的转化

    1 NSString * str = @"hello, world!"; 2 NSData * data = [str dataUsingEncoding:NSUTF8String ...