gpt4 book ai didi

java - 从 Windows XP 中的 JFileChooser 获取路径值

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:55 24 4
gpt4 key购买 nike

正如问题所述,我正在尝试使用 JFileChooser 获取路径值。 JFileChooser 的返回给我带来了两个问题。首先,我正在做的事情的确切本质是让用户选择一个目录,然后重命名该文件夹中某种类型的所有文件,例如所有 .pdf 文件,同时保留所有其他文件。我在 JFileChooser 方面遇到的问题有两个:

1)我已经弄清楚如何让 JFileChooser 显示目录中的文件,但不允许用户专门选择文件。但是,当按下“Open”时,字符串的返回值不包括 JFileChooser 中当前查看的目录。例如,如果用户导航到 C:\Documents and Settings\myFolder\Documents\Work 并查看 Work 目录的内容,然后按“打开”,则 getAbsolutePath() 调用返回的字符串为“C:\Documents and Settings\myFolder\Documents”,并且永远不会返回“Work”。我如何才能将其呈现在最终结果中?

2)一旦我有了该字符串,如何将其转换为路径以便我可以操作其中的文件? “\”是Java的转义符,要使用文件路径作为有效的Path值,需要对其进行转义,即“C:\Documents and Settings\myFolder”不起作用,它必须是“C:\Documents and Settings\myFolder”。如何从 JFileChooser 的单斜杠 () 返回字符串到我需要的双斜杠 (\) 路径?

我知道答案可能很简单,我只是更习惯与 Linux 打交道,这不是问题。我刚刚利用我的编程技能找到了第一份工作,当然,一切都是 Windows。

在有人建议之前,是的,我知道使用“/”适用于相对路径,但对于我正在编写的应用程序,我需要使用绝对路径,因为这些文件可能位于主机或网络驱动器上,所以我不能使用相对命名,除非我由于没有大量网络编程经验而忽略了某些内容。

感谢大家花时间阅读本文,如果没有回复的话。

汤米·马瑟恩

最佳答案

1.要获取所选目录的完整路径,请执行以下操作:

这里myJfc是一个JFileChoooser实例这里

String path =  myJfc.getSelectedFile().getAbsolutePath().toString();

2.使用以下方法将字符串转换为路径:

在路径中使用“\\”而不是“\”

即。 C:\\Documents and Settings\\myFolder

请确保您在 C: 驱动器中具有适当的权限,否则您的文件将不会在那里创建,如果您没有在 C: 驱动器中创建文件的权限,请尝试使用您拥有的其他驱动器,例如 D:、E: 等。那里不会有任何权限问题。

File f = new File(path);

关于java - 从 Windows XP 中的 JFileChooser 获取路径值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11589326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com