【问题标题】:Getting problems with JFileChooser and getAbsolutePath() in Java在 Java 中使用 JFileChooser 和 getAbsolutePath() 遇到问题
【发布时间】:2015-08-02 15:06:12
【问题描述】:

我在使用 JFileChooser 读取 file.txt 时遇到了一些问题,我使用它从我的目录中获取路径并将其捕获在字符串中,以便稍后使用新的 FileReader("Path Here");。

JFileChooser buscador = new JFileChooser();
buscador.showOpenDialog(buscador);

String  RutaProxy = buscador.getSelectedFile().getAbsolutePath();
System.out.println(RutaProxy);

输出

C:\Users\Silver\Desktop\Multivisitor\Lista de proxy aqui.txt

我在 FileReader 中使用该路由,因为在该 File.txt 中我想读取代理列表,如下所示:

String RutaProxy = buscador.getSelectedFile().getAbsolutePath();

BufferedReader reader = new BufferedReader(new FileReader(RutaProxy));

这里出现错误,因为 java 只允许我使用这样的路径进入 new FileReader(C:/Users/Silver/Desktop/Multivisitor/Listade proxy aqui.txt);

C:/Users/Silver/Desktop/Multivisitor/Lista de proxy aqui.txt

而不是:

C:\Users\Silver\Desktop\Multivisitor\Lista de proxy aqui.txt

我怎样才能得到一个带有这个“/”而不是这个“\”的路径?

我不知道是否有人知道我的意思。

【问题讨论】:

  • 只是说..您可以将文件直接传递给文件阅读器。 new FileReader(buscador.getSelectedFile())
  • 抱歉没看懂你的回答,能详细解释一下吗?
  • 你得到的错误是什么?
  • 当我使用 JFileChooser 选择一个 file.txt 并在新 FileReader(C:\Users\Silver\Desktop\Multivisitor\Listade proxy aqui.txt) 中使用该路由路径时;和 eclipse 告诉我 java 不能在路由路径中使用这个符号“\”,我怎样才能从 JFileChooser 中获取路由路径,如下所示:C:/Users/Silver/Desktop/Multivisitor/Listade proxy aqui.txt? /跨度>
  • 您可以将RutaProxy字符串中的'\'替换为'/'。 String replacedPath = RutaProxy.replace("\", "/");并将replacedPath 传递给文件阅读器。

标签: java


【解决方案1】:

告诉我@tibzon 的anwser 是成功的:D 非常感谢!这是改变路径的正确方法:

C:\Users\Silver\Desktop\Multivisitor\Lista de proxy aqui.txt

在:

C:/Users/Silver/Desktop/Multivisitor/Lista de proxy aqui.txt

使用此行代码:

    JFileChooser buscador = new JFileChooser ();
                // here capture in a String the Path route from file selected
                String  RutaProxy = buscador.getSelectedFile().getAbsolutePath();

                //then Replace String RutaProxy with:
                String replacedPath = RutaProxy.replace("\\", "/");

                // and here print 
                    System.out.println(replacedPath);

这次的输出是这样的:

C:/Users/Silver/Desktop/Multivisitor/Lista de proxy aqui.txt

@bitzon 非常感谢你 :D 和其他用户的回复:)

【讨论】:

  • 这告诉我,我可以在 2 天之内完成,但我会再次回来并回答喜欢 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-16
  • 2014-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多