我使用的文件輸入流中輸入一個文件使用JFileChooser,以讀取一個文件名
String filename="D:\\abc.txt";
File file = new File(filename);
它正常工作,直至現在。現在我想用JFileChooser
輸入文件名,然後執行相同的操作。但JFileChooser
返回一個像這樣的字符串D:\abc.txt
。我的代碼如下
public static String fileChose()
{
JFileChooser fc= new JFileChooser();
int ret = fc.showOpenDialog(null);
if (ret== JFileChooser.APPROVE_OPTION)
{
File file = fc.getSelectedFile();
String filename= file.getAbsolutePath();
return filename;
}
else
return null;
}
的問題是需要通過\\
而不是\
分開的文件名。我不能直接輸入這樣的方式從JFileChooser的文件名,從而直接在
File file = new File(Classname.fileChose());
你聲明的字符串 「d:\\的abc.txt」 是相同的字符串爲 「d:\的abc.txt」,由該方法返回的字符串,因爲'\ '是一個轉義字符,所以在代碼中'\\'實際上是'\'。這樣說,我很難辨別你的問題是什麼。 – Vulcan
我知道這是一個轉義字符。但File中的參數要求使用\\格式而不是\。所以我想知道該格式的文件路徑是否可以直接執行? – OneMoreError
我同意Vulcan,但更重要的是,爲什麼不更改方法來返回'文件'本身而不是文件名?像'File file = fc.getSelectedFile(); return file;'你反正把它做成一個文件 –