Java 如何使用JFileChooser在单反斜杠的中间添加双反斜杠
我正在创建一个程序来搜索目录路径。我用JFileChooser来做这件事,这很好。这是它的代码Java 如何使用JFileChooser在单反斜杠的中间添加双反斜杠,java,eclipse,path,jfilechooser,backslash,Java,Eclipse,Path,Jfilechooser,Backslash,我正在创建一个程序来搜索目录路径。我用JFileChooser来做这件事,这很好。这是它的代码 JButton btnPathBrowser = new JButton("Select Database"); btnPathBrowser.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { final
JButton btnPathBrowser = new JButton("Select Database");
btnPathBrowser.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int response = fc.showOpenDialog(Create.this);
if (response == JFileChooser.APPROVE_OPTION); {
txtPath.setText(fc.getSelectedFile().toString());
//fileName = fc.getSelectedFile().toString();
}
}
});
现在,当我运行它时,我得到了这样写的路径。
因此,您可以看到,路径是用一个反斜杠分隔的,例如C:\User\Folder\Database,但我希望它用两个反斜杠来分隔路径,如下所示。C:\Users\Database。我尝试了这个,但出现了错误:
txtPath.setText(fc.getSelectedFile().toString().replace("\", "\\"));
我想这样使用它:
String sourceFileName = new String(txtPath.getSelectedText());
我对这一点很陌生,因此我的代码中任何指向正确方向的指针都将受到赞赏。您不需要替换任何东西。您只需要在字符串文本中转义斜杠,例如
String myPath = "C:\\foo\\bar";
即使这样,您也可以使用独立于平台的版本
String myPath = "C:/foo/bar";
如果真的需要用双斜杠替换斜杠,则必须对其进行转义(因为参数是字符串文字),因此最终的结果是
String foo = bar.replace("\\", "\\\\"); // Convert one slash to two slashes
此外,如果要使用以正则表达式为参数的replaceAll
方法,则需要双重转义。一次用于字符串文本,一次用于正则表达式引擎:
String foo = bar.replaceAll("\\\\", "\\\\\\\\"); // Convert one slash to two slashes
但重申一下,在您的情况下,您不需要双斜杠。您不需要替换任何东西。您只需要在字符串文本中转义斜杠,例如
String myPath = "C:\\foo\\bar";
即使这样,您也可以使用独立于平台的版本
String myPath = "C:/foo/bar";
如果真的需要用双斜杠替换斜杠,则必须对其进行转义(因为参数是字符串文字),因此最终的结果是
String foo = bar.replace("\\", "\\\\"); // Convert one slash to two slashes
此外,如果要使用以正则表达式为参数的replaceAll
方法,则需要双重转义。一次用于字符串文本,一次用于正则表达式引擎:
String foo = bar.replaceAll("\\\\", "\\\\\\\\"); // Convert one slash to two slashes
但是重申一下,在您的情况下,不需要双斜杠。谢谢,这对我帮助很大!谢谢,这对我帮助很大!