如何在jtree中仅列出非隐藏和非系统文件

2023-12-02

File f=new File("C:/");
File fList[] = f.listFiles();

当我使用它时,它会列出所有系统文件以及隐藏文件。

而这个原因空指针异常当我用它在 jTree 中显示时,如下所示:

 public void getList(DefaultMutableTreeNode node, File f) {
 if(f.isDirectory()) {
     DefaultMutableTreeNode child = new DefaultMutableTreeNode(f);
     node.add(child);
     File fList[] = f.listFiles();
     for(int i = 0; i  < fList.length; i++)
         getList(child, fList[i]);
     }
}

我应该怎么做才能不给空指针异常并仅显示非隐藏和非系统文件在 jTree 中?


对隐藏文件执行此操作:

File root = new File(yourDirectory);
File[] files = root.listFiles(new FileFilter() {
    @Override
    public boolean accept(File file) {
        return !file.isHidden();
    }
});

这不会返回隐藏文件。

至于系统文件,我相信这是一个Windows概念,因此可能不被支持File试图独立于系统的接口。不过,您可以使用命令行命令(如果存在)。

或者使用@Reimeus 在他的回答中的内容。

可能喜欢

    File root = new File("C:\\");

    File[] files = root.listFiles(new FileFilter() {
        @Override
        public boolean accept(File file) {
            Path path = Paths.get(file.getAbsolutePath());
            DosFileAttributes dfa;
            try {
                dfa = Files.readAttributes(path, DosFileAttributes.class);
            } catch (IOException e) {
                // bad practice
                return false;
            }
            return (!dfa.isHidden() && !dfa.isSystem());
        }
    });

DosFileAttributes 是在 Java 7 中引入的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在jtree中仅列出非隐藏和非系统文件 的相关文章

随机推荐

  • 在 iOS 上调试 Cordova (PhoneGap) 代码

    我正在开发一个应用程序 我想通过 Cordova PhoneGap 在 iOS 中托管 当我尝试访问 device platform 和 device version 属性时遇到了一些问题 我不确定问题是什么 不管怎样 我不知道如何查看代码
  • 通过网页关闭计算机

    我有一个基于网络的应用程序 它会在由 Windows 7 驱动的客户端计算机上的 chromium Web 浏览器中自动加载到信息亭模式 全屏 我想在网页上放置一个关机按钮 以便用户可以直接关闭计算机 有没有可能实现这一目标 最好的解决方案
  • 使用 PHP 提取 CAB 文件

    在 IIS 6 上运行 PHP 如何打开并提取 CAB 文件的内容 有没有什么方法可以在不使用 exec 的情况下做到这一点 我没有权限用 exec 运行东西 无需外部工具 例如赤霞珠提取物这是行不通的 PHP 没有这方面的函数
  • 从 Linux 连接到 Neo4j 的问题

    尝试从 java 连接到 Neo4j 时出现以下错误 线程 main 中的异常 java lang RuntimeException 启动时出错 org neo4j kernel EmbeddedGraphDatabase data gra
  • 通过azure函数删除CosmosDB中的文档

    阅读 Azure 门户后 我了解了如何制作POST PUT and GET通过 Azure Functions 与 CosmosDB 进行操作 但是删除 我不明白该怎么做 我应该使用哪些绑定 它应该通过 sql 查询还是集合的方法 如Rem
  • 部署 jsp/servlet Web 应用程序时出现 Jboss 错误“com.sun.faces.config.ConfigureListener”错误

    我正在研究 JSP Servlet 该 Web 应用程序将部署在 Jboss 6 上 我正在使用 Java 1 6 Eclipse 和 Maven2 我没有在代码中的任何地方引用 JSF 我的项目在任何地方都没有涉及 JSF 但是当我尝试部
  • 有人可以向我解释以下代码吗?

    我正在阅读 Rails 3 in Action 一书 它正在讨论覆盖to s在模型中 代码如下 def to s email admin Admin User end 我知道在 Ruby 中你可以通过以下方式在双引号内显示 一个值 valu
  • JavaScript 中返回多个值?

    我试图返回两个值JavaScript 这可能吗 var newCodes function var dCodes fg codecsCodes rs var dCodes2 fg codecsCodes2 rs return dCodes
  • 安装 ruby​​ 1.9.3 时出错

    我正在尝试使用 rvm 安装 Ruby 1 9 3 但是 当我输入 rvm install 1 9 3 我收到以下错误 ERROR Error running make please read Users nick rvm log ruby
  • ThreeJS:3D 对象面积计算(三角测量)

    我需要在 ThreeJS 中计算整个对象的面积 表面积 这就是我所拥有的 var len object geometry faces length area 0 0 if len return 0 0 for var i 0 i lt le
  • Jackson注释中的多态性:@JsonTypeInfo用法

    我想知道是否 JsonTypeInfo注解可以用于接口 我有一组应该序列化和反序列化的类 这就是我正在尝试做的事情 我有两个实现类Sub1 Sub2实施MyInt 一些模型类具有实现类型的接口引用 我想基于多态性反序列化对象 JsonTyp
  • 在 Flash 中播放 MIDI 文件

    有没有办法在Flash中播放MIDI文件 使用动作脚本 3 None
  • 眼睛空间坐标到底是什么?

    当我学习 OpenGL 时 我经常偶然发现所谓的眼空间坐标 如果我是对的 你通常有三个矩阵 模型矩阵 视图矩阵和投影矩阵 虽然我不完全确定其背后的数学原理是如何工作的 但我确实知道将坐标转换为世界空间 视图空间和屏幕空间 但是眼睛空间在哪里
  • Git 提交消息:50/72 格式

    Tim Pope 在他的博文中主张采用特定的 Git 提交消息样式 http www tpope net node 106 以下是他的建议的快速摘要 第一行不超过 50 个字符 然后是一个空行 剩余文本应以 72 个字符换行 他的博客文章给
  • QFile 打开文件写入失败

    我正在尝试打开文件并向其中写入一些文本数据 QFile out test txt if out open QIODevice ReadWrite QMessageBox msgBox msgBox setText out errorStri
  • Python virtualenv 问题

    我在 Windows XP 上使用 VirtualEnv 我想知道我的大脑是否正确地围绕它 I ran virtualenv ENV它创造了C WINDOWS system32 ENV 然后我改变了我的PATH要包含的变量C WINDOWS
  • 矩阵的块对角绑定

    R 是否具有将矩阵绑定为块对角形状的基函数 以下可以完成这项工作 但我想知道是否有标准方法 a lt matrix 1 6 2 3 b lt matrix 7 10 2 2 rbind cbind a matrix 0 nrow nrow
  • 复制包含索引的表

    有没有办法在 SQL Server 中复制表 不仅仅是像这样的数据SELECT INTO还可以索引 也许还有键 如果我走脚本表为 gt 创建到它遗漏了我的索引 如果此功能不可用 为什么不呢 我确信这个问题肯定被问了 1000 次 但我找不到
  • 关于C中的qsort(),** buf和buf[][]的区别

    当我在 Mac 上的 C 语言中使用 qsort 时 这些代码运行良好 它可以很好地对一个文件中的每一行进行排序 int compare const void p const void q return strcmp p q void fu
  • 如何在jtree中仅列出非隐藏和非系统文件

    File f new File C File fList f listFiles 当我使用它时 它会列出所有系统文件以及隐藏文件 而这个原因空指针异常当我用它在 jTree 中显示时 如下所示 public void getList Def