Topic: 如何将"c:\A\D"转换成为字符串"c:\\A\\D"?

  Print this page

1.如何将"c:\A\D"转换成为字符串"c:\\A\\D"? Copy to clipboard
Posted by: qingxing2005
Posted on: 2005-04-03 22:56

我想做一个简单的文本编辑器,但是发现一个问题:就是得到选择之后的文件路径的形式是"c:\A\D",但是要读文件内容的Filereader()要求是"c:\\A\\D"。这个应该怎么转换呢?用Allreplace么?可是"c:\A\D"都不是字符串,怎么能够转换成为一个符合要求的字符串呢?

或是还能有什么别的方法,很是着急,恳请帮忙,不胜感激。

2.Re:如何将"c:\A\D"转换成为字符串"c:\\A\\D"? [Re: qingxing2005] Copy to clipboard
Posted by: wuyunlong
Posted on: 2005-04-04 08:23

final String s = "c:\A\D";
final String newS = s.replace("\","\\");

3.Re:如何将"c:\A\D"转换成为字符串"c:\\A\\D"? [Re: qingxing2005] Copy to clipboard
Posted by: menzy
Posted on: 2005-04-04 10:38

每有那么简单, \会造成字符转意,楼上的测试过没有?
只怕你的第二行编译都过不去

4.Re:如何将"c:\A\D"转换成为字符串"c:\\A\\D"? [Re: qingxing2005] Copy to clipboard
Posted by: chaos_1981
Posted on: 2005-04-04 12:31

象\或"等等这些java里可能用到的字符前面要加\

这个应该这样写


final String s = "c:\\A\\D";
final String newS = s.replace("\\","\\\\");
System.out.println(newS);

5.Re:如何将"c:\A\D"转换成为字符串"c:\\A\\D"? [Re: qingxing2005] Copy to clipboard
Posted by: orangeyxj
Posted on: 2005-04-04 17:33

楼上的也会出错,这样的转换我也不会,但是如果要读入文件名再传给别的地方的话,用File的getPath( )方法就行了,Java好象会自动转换,至少我用时就不会出错

6.Re:如何将"c:\A\D"转换成为字符串"c:\\A\\D"? [Re: orangeyxj] Copy to clipboard
Posted by: qingxing2005
Posted on: 2005-04-04 19:50

orangeyxj wrote:
楼上的也会出错,这样的转换我也不会,但是如果要读入文件名再传给别的地方的话,用File的getPath( )方法就行了,Java好象会自动转换,至少我用时就不会出错


首先,感谢这么多热心朋友的帮忙。

其次,我是想通过一个dialog来打开一个文件。就像文本编辑器那样的,利用open,探出一个窗口来打开一个文件。这就需要用到String selectedFile = fileDialog.open(); 但是selectedFile中没有getpath的方法,还有就是file是不是只能适用于文件夹。所以当我用selectedFile之后,只能得到"c:\A\D"。( 利用System.out.println(selectedFile)来显示之后的)。我想把"c:\A\D"替换为"c:\\A\\D",因为要用到FileReader()来读文件。

像我的这种情况,如何将slectedFile用File.getPath()的方法传给FileReader().

7.Re:如何将"c:\A\D"转换成为字符串"c:\\A\\D"? [Re: qingxing2005] Copy to clipboard
Posted by: orangeyxj
Posted on: 2005-04-05 16:08

File selectfile;
JFileChooser fileChooser=new JFileChooser();
fileChooser.setDialogTitle("请选择文件");
int fileresult=fileChooser.showOpenDialog(new MainFrame());
selectfile=fileChooser.getSelectedFile();
System.out.println(selectfile.getPath());

8.Re:如何将"c:\A\D"转换成为字符串"c:\\A\\D"? [Re: qingxing2005] Copy to clipboard
Posted by: simbas
Posted on: 2005-04-06 12:25

final String s = "c:\\A\\D";
final String newS = s.replaceAll("\\\\","\\\\\\\\");
System.out.println(newS);
注意replaceAll的参数要用到正则表达式


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923