如何将String转换为文件名

时间:2012-02-04 21:15:11

标签: java string file jfilechooser

  public class saveButtonListener implements ActionListener{
      public void actionPerformed(ActionEvent ev){
         JFileChooser chooser= new JFileChooser();

          String s=(String)searchedResultArea.getSelectedValue();// ??? 
    }
  }
  Object s=searchedResultArea.getSelectedValue();

我开发了一个程序,用于保存用户在文件上指定的一些图片的文件名,并将它们显示在JList中。我已将它们保存为这种格式

   E:\something\something\something.jpg

现在我需要使用此值打开该图片。我的问题是我无法将此String转换为java使用的正确文件命名,如

    E:\\something\\something\\something.jpg

我希望你明白这一点。我需要两个反斜杠。我该怎么做?

4 个答案:

答案 0 :(得分:5)

您无需将其转换为任何内容。字符串很好,只有一个斜杠。只有在代码中手动输入时才需要第二个斜杠。

答案 1 :(得分:3)

“\”用于转义源代码中的“\”字符。 Windows上的路径分隔符仍为“\”。如果你从用户输入获得路径,那么这里没什么可做的。

答案 2 :(得分:2)

在Java中,表示文件名的正确方法是使用“正向”斜杠('/'),这将独立于您的操作系统。 “反斜杠”('\')是Windows异常,在使用Java处理文件时应该忽略它。

所以,只需使用“正斜杠”。

要转换文件名,请执行

filename = filename.replaceAll("\\", "/");

(你需要双反斜杠,因为在Java中使用单反斜杠来转义特殊字符)

答案 3 :(得分:-1)

不会这样做:

String fileName = // from JList
File f = new File(fileName);