黑马程序员-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.配置文件可以实现应用程序数据的共享。
代码图例:
- 黑马程序员-day21File对象
- 黑马程序员 面向对象
- 黑马程序员-面对对象
- 黑马程序员_String对象
- 黑马程序员---面向对象
- 黑马程序员-面向对象
- 黑马程序员:Properties对象
- 黑马程序员-面向对象
- 黑马程序员-面向对象
- 黑马程序员--面向对象
- 黑马程序员-面向对象
- 黑马程序员--面向对象
- 黑马程序员--面向对象
- 黑马程序员---什么是对象?
- 黑马程序员-面向对象
- 黑马程序员--面向对象
- 黑马程序员-面向对象
- 黑马程序员-----面向对象
- [Java核心技术]学习笔记--第二章
- 使用ant脚本,对java web项目,编译、打包、发布部署到tomcat
- MySQL逻辑架构
- 第2章 线性表 思维导图
- 如果输入的数字大于int型怎么办
- 黑马程序员-day21File对象
- 线程工厂 ThreadFactory
- iOS数据存储- Xcode6数据存储基础(1)
- OC第二个周六
- java中对象数组的使用
- template template parameter
- linux数据流重定向
- Android ListView 4 一个页面显示两个ListView
- java文件读写操作大全