当前位置: 首页 > 面试题库 >

JFileChooser,想要将其锁定到一个目录

陆信瑞
2023-03-14
问题内容

我有这个程序,您可以在其中下载文件,我希望将JFileChooser锁定到一个文件夹(目录),以便用户无法浏览其他任何文件。他只能从例如文件夹“ C:\
Users \ Thomas \ Dropbox \ Prosjekt RMI \ SERVER
\”中选择文件。我已经尝试过搜索,但没有找到任何东西。我的代码是:

String getProperty = System.getProperty("user.home");
JFileChooser chooser = new JFileChooser(getProperty + "/Dropbox/Prosjekt RMI/SERVER/"); //opens in the directory "//C:/Users/Thomas/Dropbox/Project RMI/SERVER/"
int returnVal = chooser.showOpenDialog(parent);
if (returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You chose to open this file: " + chooser.getSelectedFile().getName());

这工作正常,但是现在我可以转到文件夹Project RMI,我不想这样做。

提前致谢 :)

编辑:我在您的帮助下做了什么:

JFileChooser chooser = new JFileChooser(getProperty + "/Dropbox/Project RMI/SERVER/"); 
                chooser.setFileView(new FileView() {
                    @Override
                    public Boolean isTraversable(File f) {
                        return (f.isDirectory() && f.getName().equals("SERVER")); 
                    }
                });
                int returnVal = chooser.showOpenDialog(parent);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    System.out.println("You chose to open this file: "
                            + chooser.getSelectedFile().getName());
                }

问题答案:

进行自定义FileSystemView,将其用作接受FSV
JFileChooser构造函数之一的参数。



 类似资料:
  • 我已经创建了一个JFileChooser,我想只在user.home目录和它的子文件夹中限制它。

  • 请看前面关于这个问题的帖子;自动排序不能在一个Google工作表中的多个工作表上工作 这是上节课的好剧本; 这个线程成功地解决了我的问题,但是,现在我想做的是自动排序第三张,这是锁定到其他人,但不是我自己。第三页标题为“2017年卡兰生产”。我还希望这第三张表格能够从第二张表格“代管交易”中提取所有新数据,格式与第二张表格相同,并在数据导入第三张表格时自动排序,但也能够在第三张表格中手动输入新交易

  • 在我的程序中,我想让用户能够将一个文件保存到他们选择的目录中。在做了一点研究之后,我发现了这个名为JFileChooser的俏皮类。我想做的是允许用户通过JFileChooser GUI转到他们想要的目录,为他们的文件键入一个名称,并允许他们将他们的文件保存到想要的目录。我试着在网上寻找一个解决方案,如何做到这一点,但几乎在我读到的所有地方,最后的答案都是“现在你必须让你的程序保存文件”,但我不知

  • 我在这个问题上也有同样的问题 如何使用android中的回收器视图将事件放在日历中 //Event.java 我尝试了很多,但它甚至不工作。我的事件。我要在另一个适配器中使用java。也许在onBindViewHolder中。

  • 我的应用程序中有一个rails自定义记录器。 路径-/ /current/log 文件-custom.json custom.json.20210712 这是我的要求 旋转后的文件应该放在不同的位置,即/ /current/log/archive/custom.json.20210712 旋转文件的名称也应该有hour和min,也就是说,我需要,而不是。格式化

  • 问题内容: 我想将用户限制在一个目录及其子目录中,但是“父目录”按钮允许他们浏览到任意目录。 我应该怎么做呢? 问题答案: 您可能可以通过设置自己的FileSystemView来实现。