IO学习笔记(三)

13.  File 类

它既能代表一个文件的名称,又能代表一个目录下一组文件的名称。常用于对文件或文件夹的操作。

File对象也可以作为参数传递给流的构造函数。

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

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

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

File  file = new File("c:\\abc\\a.txt");-------File  file = new File("c:"+ File.separator +"abc"+ File.separator +"a.txt");  //比较通用

File  file = new File("c:\\abc","a.txt");

File f = new File("D:\\abc");

File file = new File(f,"a.txt");--------------这一构造的执行,并没有真正的创建了一个文件或文件夹。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

createNewFile()  当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件

File  file = new File("c:\\abc\\a.txt");

System.out.print(file.createNewFile());------------如果c:\\abc\\a.txt路径下的文件不存在,那么会返回true,如果已经存在或者创建失败,那么会返回false

boolean delete()  删除此抽象路径名表示的文件或目录

void deleteOnExit()  在虚拟机终止时,请求删除此抽象路径名表示的文件或目录-----在操作结束退出时删除

当我们创建一个文件,并且对这个文件进行操作,如果这一过程中出现异常,那么程序将终止,我们的delete()方法将不会被执行。

但是我们一定要删除这个文件,这时候就要使用deleteOnExit()方法,表示在程序对文件操作结束后,执行次命令,将文件删除。

File  file = new File("c:\\abc\\a.txt");

file.deleteOnExit();

code(对文件内容进行操作);

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 

booleanisHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件

File  file = new File("c:\\abc\\a.txt");

System.out.print(file.isDirectory()); -------false

System.out.print(file.isFile());          -------false

分析:因为File  file = new File("c:\\abc\\a.txt");这条语句是不创建文件或目录的,所以两种判断都为false,那么我们在执行这两种判断时,

有必要先进行判断对应的文件是否存在,如果不存在的话则没必要进行后续判断。

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

boolean mkdir()   创建此抽象路径名指定的目录-----------------只能在现有目录的基础上创建一个级别的目录

boolean mkdirs()    创建此抽象路径名指定的目录,包括所有必需但不存在的父目录------------可以创建多级目录

boolean  isAbsolute() 测试此抽象路径名是否为绝对路径名------无论文件是否存在,只要是绝对路径该方法就会返回true。否则返回false

……………………………………………………………………………………………………………………………………………………………

 String  getPath()   将此抽象路径名转换为一个路径名字符串

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

File  file = new File(当这里是一个绝对路径的时候,上述两方法返回值相同);

 File  getAbsoluteFile()  返回此抽象路径名的绝对路径名形式。

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

File file = new File("D:\\IO\\abc.txt");
System.out.println("---:"+ file.getAbsoluteFile());                ---:D:\IO\abc.txt
System.out.println("---:"+file.getParent());                       ---:D:\IO
File file2 = new File("ac.txt");  
System.out.println("^^^:"+ file2.getAbsoluteFile());               ^^^:D:\IO\ac.txt
System.out.println("^^^:"+file2.getParent());                      ^^^:null

System.out.println("---:"+file.getPath());                                                                ---:D:\IO\abc.txt

System.out.println("---:"+file2.getPath());                                                              ---:ac.txt

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

时间: 2024-10-28 03:30:47

IO学习笔记(三)的相关文章

kvm虚拟化学习笔记(三)之windows kvm虚拟机安装

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1290191 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 h

VSTO学习笔记(三) 开发Office 2010 64位COM加载项

原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(Automation Executables) 2.Office加载项(COM or Excel Add-In) 3.Office文档代码或模板(Code Behind an Office Document or Template) 4.Office 智能标签(Smart Tags) 本次我们将学习使

Bootstrap3学习笔记(三)之表格_javascript技巧

在上篇文章给大家介绍了 BootStrap3学习笔记(一)之网格系统       Bootstrap3学习笔记(二)之排版 只需要在table标签上使用.table类,就可以使用bootstrap默认的表格样式 如果需要行背景有交替变化,可以这样设定: 复制代码 代码如下: <table class="table table-striped"> 如果需要边框,可以这样设定: 复制代码 代码如下: <table class="table table-borde

JavaScript学习笔记(三):JavaScript也有入口Main函数_javascript技巧

在C和Java中,都有一个程序的入口函数或方法,即main函数或main方法.而在JavaScript中,程序是从JS源文件的头部开始运行的.但是某种意义上,我们仍然可以虚构出一个main函数来作为程序的起点,这样一来不仅可以跟其他语言统一了,而且说不定你会对JS有更深的理解. 1. 实际的入口 当把一个JavaScript文件交给JS引擎执行时,JS引擎就是从上到下逐条执行每条语句的,直到执行完所有代码. 2. 作用域链.全局作用域和全局对象 我们知道,JS中的每个函数在执行时都会产生一个新的

DB2 UDB V8.1管理学习笔记(三)_DB2

正在看的db2教程是:DB2 UDB V8.1管理学习笔记(三).强制断开已有连接,停止实例并删除.  $ db2idrop -f instance_name 用于在UNIX下迁移实例. $ db2imigr instance_name 更新实例,用于实例获得一些新的产品选项或修订包的访问权. $ db2iupdt instance_name 获取当前所处的实例. $ db2 get instance 当更新实例级别或数据库级别的参数后,有些可以立即生效,有些需要重新启动实例才可生效.immed

Paint.Net学习笔记——三、窗体(下)

近1个月没有更新了,不能再懒了,继续更新PDN的学习笔记!本节将说明PDN中窗体的继承关系,实 现过程等. 如上图所示,在PDN中,所有窗体都继承自PdnBaseForm类,该类继承自Form类与ISnapManagerHost接 口,该接口定义了SnapManager的get方法,SnapManager是管理界面窗口"粘靠"效果的,该实现方法之 后文章中讲述. 现在快速地过一下各个窗体的作用及特点. BaseForm: 所有PDN里窗体的基类,主要提供常用窗体方法及注册.卸载热键.

Promise学习笔记(三):源码core.js解析(上)

源码阅读阶段 先理解Promise根本吧,想快点理解的话可以直接跳到下个标题.这部分根据理解将持续修改. Promise(fn) function noop() {}  /*  空函数,用于判断传入Promise构造器的函数是否为空函数,如果为空函数构造一个promise对象并初始化状态为pending,终值null,回调状态0和队列null.  */  var LAST_ERROR = null;//记录Promise内部最后的一次错误  var IS_ERROR = {}; //空对象,标识

cmake 学习笔记(三)

转自:http://blog.csdn.net/dbzhang800/article/details/6329314 接前面的 Cmake学习笔记(一) 与 Cmake学习笔记(二) 继续学习 cmake 的使用. 学习一下cmake的 finder. finder是神马东西? 当编译一个需要使用第三方库的软件时,我们需要知道: 去哪儿找头文件 .h 对比GCC的 -I 参数 去哪儿找库文件 (.so/.dll/.lib/.dylib/...) 对比GCC的 -L 参数 需要链接的库文件的名字

Caliburn.Micro学习笔记(三)----事件聚合IEventAggregator和 Ihandle&lt;T&gt;

Caliburn.Micro学习笔记目录 今天 说一下Caliburn.Micro的IEventAggregator和IHandle<T>分成两篇去讲这一篇写一个简单的例子 看一它的的实现和源码 下一篇用它们做一个多语言的demo 这两个是事件的订阅和广播,很强大,但用的时候要小心发生不必要的冲突. 先看一下它的实现思想 在Caliburn.Micro里EventAggregator要以单例的形式出现这样可以做到对广播做到统一的管理 对象实现IHand<T>接口后通过EventAg