java学习——File类操作

[size=large][/size]
前几天跟着熊哥一块学习了File类机制的相关操作,上那节课的时候觉得File类操作好简单,一个小时左右就搞定了最简单的练习,但到了要实现一个窗体类型的文件搜索器时,我却遇到了很大的困难。。。各种新方法,还有一些参数的传递,构造方法的使用都让我头大,这个以后会写另外一篇总结来总结下的,今天我还是先稍微说下File类机制操作的相关总结经验。

首先,来介绍一下File类的构造方法和一些我用到的很基本的方法。
实例化对象的话可以通过最基本的new File(String path)来实现,然后括号里的参数为file文件(目录)所在的路径,通过给定的路径来实例化这个file。

另外,经常用到的方法大概有下面这些:
最基本的创建一个文件creatNewFile(),还有与其对应的删除一个文件delete()。

判断该file是文件还是目录isFile(),isDirectory().返回值是boolean类型的,存在的话会返回一个true值,不存在则返回false。

判断该file是否存在exit().同样返回值是boolean类型的,存在的话会返回一个true值,不存在则返回false。

listRoots()和listFiles()都是会返回一个File[]数组,前者是系统的根目录,后者则是返回所在目录下的文件。

得到文件的名字getName(),同样的还有得到文件的绝对路径getAbsolutePath()

大概就是用到了上面这些方法,下面我给大家看下我做的及其丑陋加简陋的文件搜索器

噗...才发现我不会上图。。那我就先上下我的一部分代码吧,是关于实现File类操作的关键代码。
package ssss;

import java.io.File;

/**
* 该类实现了寻找文件的具体位置及文件的总个数
*
* @author 王成威
*
*/
public class FileSearch {
//定义关键字content
private static String content;

/**
* 构造函数
* @param content
*/
public FileSearch(String content) {
this.content = content;
}

/**
* 主函数
* @param path
* @return count
*/
public static int listRoot(String path) {
int count = 0;
File file = new File(path);
File[] lf = file.listFiles();//实例化一个数组来存储返回的文件路径
if (lf != null && lf.length > 0) {//如果数组不为空且数组长度大于0
for (int i = 0; i < lf.length; i++) {//循环遍历
if (lf[i].isFile()) {//如果是文件
if (lf[i].getName().contains(content)) {//如果包含关键字
count++;//count数值+1
// System.out.println(lf[i].getAbsolutePath());
MainClass.Tarea.append(lf[i].getAbsolutePath() +
"\r\n");//在Tarea里显示出文件的绝对路径
}
} else if (lf[i].isDirectory()) {//如果是目录
count++;//count数值加1
listRoot(lf[i].getAbsolutePath());//通过递归再次使用listRoot方法

}
}
}

return count;

}
}

大概就是这些了,过段时间我会再来慢慢完善我那丑陋的文件搜索器的,到时候再爆照~~

图片好了,先传上来吧。。
[img]http://dl.iteye.com/upload/picture/pic/121329/0cd8f79b-a42f-3667-afde-30e9094902a1.jpg[/img]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值