File类
来源:互联网 发布:物流网络存在的问题 编辑:程序博客网 时间:2024/06/06 01:52
类File的对象可以表示文件,也可以表示目录。在创建File对象是,需要指定目录名或文件名的字符串传递给该类的构造方法:
File file = new File("Data.txt");//创建了一个File对象,表示当前目录下的文件Data.txt
File file = new File("D:\\Java\\Hello.java");//指明详细路径及文件名,注意双斜线或用“/”代替
创建了File对象,就可以调用File类中定义的方法,对文件或目录进行管理。常用的方法如下:
boolean exists() 判断文件是否存在,存在返回 true,否则返回false
boolean isFile() 判断是否为文件,是返回true,否则返回false
boolean isDirectory() 判断是否为目录,是返回true, 否则返回false
String getName() 获得文件的名称
String getAbsolutePath() 获得文件的绝对路径
long length() 获得文件的长度(字节数)
boolean createNewFile() 创建新文件,创建成功返回true,否则返回false,有可能抛出IOException异常,必须捕捉
boolean delete() 删除文件,删除成功返回true,否则返回false
File[] listFiles() 返回文件夹内的子文件与子文件夹的数组
进行文件和目录管理师,允许指定相对或绝对目录路径名,但是为了确保程序能在不同的平台上运行,编程时最好不要直接使用绝对路径名。默认的情况下,相对路径名是指相对于当前工作目录。
利用类File可以做一个简单文件搜索器(输入path(文件夹的绝对路径)和key(关键字),输出该文件夹下所有与key匹配的文件)
//显示指定路径所有目录下的所有的file的名字public void searchFile(String path){File file = new File(path);if(file.exists()){if(file.isFile()){//是文件list.add2(file.getName());}else if(file.isDirectory()){//是文件夹File[] files = file.listFiles();for(File f:files){//递归searchFile(f.getAbsolutePath());}}}}
需要注意的是递归的使用,当一个文件夹名与key匹配时,需要调用searchFile方法本身来遍历该文件夹。
public void showFile(MyList list){//取出队列中文件名与key比较for(int i=0;i<list.getLength();i++){//判断文件名是否与key匹配if(list.get2(i).contains(key)){//追加输出area_out.append(list.get2(i)+"\n");}}if(area_out.getText().length() == 0){area_out.setText("沒有此文件!!");}}
遇到的问题:1.当path为根目录时(D:\),无法搜索出结果,而在D盘下的某一文件夹下可以得到结果。
2.当path为根目录C盘时,会报空指针异常。
- 【File】File类基础
- File类 ;File.Create(),File.Delete(), File.Copy(), File.Replace()
- File 类
- File 类
- File 类
- File 类
- File类
- File 类
- FILE 类
- File类
- FILE类
- File类
- File类
- File类
- File类
- File类
- File类
- File类
- 两年小结
- linux rm命令 注意事项
- MVC3系列~Html.BeginForm与Ajax.BeginForm
- shell基础
- 【正整数模板运算(C++手写BigInteger类和java.math.BigInteger以及java.math.BigDecimal)】
- File类
- HDU 2962 Trucking(Dijkstra+二分)
- 哈希表
- Code Generate of Power Designer
- 排序算法
- 查找算法
- Eclipse中10个最有用的快捷键组合
- CSS3 @font-face详细用法local
- C++线程 -- boost::barrier解决多线程分工问题