【问题标题】:How to convert String to a file Name如何将字符串转换为文件名
【发布时间】:2012-02-04 21:15:10
【问题描述】:
  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

现在我需要使用这个值打开那张图片。我的问题是我无法将此字符串转换为 java 使用的正确文件命名

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

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

【问题讨论】:

    标签: java string file jfilechooser


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      “\”用于转义源代码中的“\”字符。 Windows 上的路径分隔符仍然是“\”。如果您从用户输入中获得了路径,那么这里无需执行任何操作。

      【讨论】:

        【解决方案3】:

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

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

        要转换文件名,请执行

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

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

        【讨论】:

          【解决方案4】:

          这不可行吗:

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

          【讨论】:

          • 文件 file = new File(searchedResultArea.getSelectedValue());我试过这个,但这不起作用。我应该使用哪种方法?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-05-16
          • 1970-01-01
          • 2019-06-06
          • 1970-01-01
          • 2021-03-19
          • 2012-04-17
          相关资源
          最近更新 更多