zoukankan      html  css  js  c++  java
  • 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类操作的关键代码。
    Java代码 复制代码 收藏代码
    1. package ssss;
    2. import java.io.File;
    3. /**
    4. * 该类实现了寻找文件的具体位置及文件的总个数
    5. *
    6. * @author 王成威
    7. *
    8. */
    9. public class FileSearch {
    10. //定义关键字content
    11. private static String content;
    12. /**
    13. * 构造函数
    14. * @param content
    15. */
    16. public FileSearch(String content) {
    17. this.content = content;
    18. }
    19. /**
    20. * 主函数
    21. * @param path
    22. * @return count
    23. */
    24. public static int listRoot(String path) {
    25. int count = 0;
    26. File file = new File(path);
    27. File[] lf = file.listFiles();//实例化一个数组来存储返回的文件路径
    28. if (lf != null && lf.length > 0) {//如果数组不为空且数组长度大于0
    29. for (int i = 0; i < lf.length; i++) {//循环遍历
    30. if (lf[i].isFile()) {//如果是文件
    31. if (lf[i].getName().contains(content)) {//如果包含关键字
    32. count++;//count数值+1
    33. // System.out.println(lf[i].getAbsolutePath());
    34. MainClass.Tarea.append(lf[i].getAbsolutePath() +
    35. "\r\n");//在Tarea里显示出文件的绝对路径
    36. }
    37. } else if (lf[i].isDirectory()) {//如果是目录
    38. count++;//count数值加1
    39. listRoot(lf[i].getAbsolutePath());//通过递归再次使用listRoot方法
    40. }
    41. }
    42. }
    43. return count;
    44. }
    45. }  
  • 相关阅读:
    Paip.最佳实践-- Buildin variale 内建变量 ,魔术变量,预定义变量,系统常量,系统变量 1
    paip.提升性能----java 无锁结构(CAS, Atomic, Threadlocal, volatile, 函数式编码, 不变对象)
    paip. 定时 关机 休眠 的总结
    Paip.Php Java 异步编程。推模型与拉模型。响应式(Reactive)”编程FutureData总结... 1
    paip.java 注解的详细使用代码
    paip.不同目录结构哈的文件批量比较
    paip.cache 缓存架构以及性能提升总结
    paip.消除 Java 的冗长try/catch/finally
    paip 自定义输入法多多输入法词库的备份导出以及导入
    paip.java c++得到当前类,方法名称以及行号
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575917.html
Copyright © 2011-2022 走看看