黑马程序员-day21File对象

来源:互联网 发布:东方财富ddx源码 编辑:程序博客网 时间:2024/06/08 19:15

1.File类常见方法

1,创建。
boolean createNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。
boolean mkdir():创建文件夹。
boolean mkdirs():创建多级文件夹。
2,删除。
boolean delete():删除失败返回false。如果文件正在被使用,则删除不了返回false。
void deleteOnExit();在程序退出时删除指定文件。
3,判断。
boolean exists() :文件是否存在.
isFile():
isDirectory();
isHidden();
isAbsolute();

注意:记住在判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。
4,获取信息。
getName():
getPath():
getParent():


getAbsolutePath() 
long lastModified() 
long length() 

File f1 = new File("a.txt");//将a.txt封装成file对象。可以将已有的和为出现的文件或者文件夹封装成对象。

2.File对象功能文件列表


注意:FilenameFilter和FileFilter是接口,必须分别覆盖其boolean accept(File dir,String name)和boolean accept(File pathname)。

3.递归

列出指定目录下文件或者文件夹,包含子目录中的内容。也就是列出指定目录下所有内容。因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可。在列出过程中出现的还是目录的话,还可以再次调用本功能。也就是函数自身调用自身。这种表现形式,或者编程手法,称为递归。

递归要注意:
1.限定条件。
2.要注意 递归的次数。尽量避免内存溢出。

代码图例:


递归练习:

1.带层次的列出目录下的所有内容。



2.删除一个带内容的目录。
删除原理:在windows中,删除目录从里面往外删除的。既然是从里往外删除。就需要用到递归。

代码图例:


3.将一个指定目录下的Java文件的绝对路径,存储到一个文本文件中。建立一个java文件列表文件。
思路:
1.对指定的目录进行递归。
2.获取递归过程所有的java文件的路径。
3.将这些路径存储到集合中。
4.将集合中的数据写入到一个文件中。

代码参照:day20\JavaFileList .java

4.Properties类

Properties是hashtable的子类。
也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串。是集合中和IO技术相结合的集合容器。
该对象的特点:可以用于键值对形式的配置文件。那么在加载数据时,需要数据有固定格式:键=值。

Properties的演示代码:




练习:限制程序运行次数。当运行次数到达5次时,给出,请您注册的提示。并不再让该程序执行。

思路:

用于记录应用程序运行次数。如果使用次数已到,那么给出注册提示。很容易想到的是:计数器。可是该计数器定义在程序中,随着程序的运行而在内存中存在,并进行自增。可是随着该应用程序的退出,该计数器也在内存中消失了。下一次在启动该程序,又重新开始从0计数。这样不是我们想要的。程序即使结束,该计数器的值也存在。下次程序启动在会先加载该计数器的值并加1后在重新存储起来。所以要建立一个配置文件。用于记录该软件的使用次数。该配置文件使用键值对的形式。这样便于阅读数据,并操作数据。键值对数据是map集合。数据是以文件形式存储,使用io技术。那么map+io -->properties.配置文件可以实现应用程序数据的共享。

代码图例:




0 0
原创粉丝点击