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. }  
  • 相关阅读:
    2020年. NET Core面试题
    java Context namespace element 'component-scan' and its parser class ComponentScanBeanDefinitionParser are only available on JDK 1.5 and higher 解决方法
    vue 淡入淡出组件
    java http的get、post、post json参数的方法
    vue 父子组件通讯案例
    Vue 生产环境解决跨域问题
    npm run ERR! code ELIFECYCLE
    Android Studio 生成apk 出现 :error_prone_annotations.jar (com.google.errorprone:error) 错误
    记忆解析者芜青【总集】
    LwIP应用开发笔记之十:LwIP带操作系统基本移植
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575917.html
Copyright © 2011-2022 走看看