0
我正在編寫一個程序,用於打開文件並將所有文件內容加載到JTextArea中。我想限制用戶能夠打開不同的文件格式。我想要接受的格式包括:.js .php .html .asmx .htm .css基本上可以在Web瀏覽器中閱讀的任何格式。使用正則表達式檢查文件擴展名
這樣做的最好方法是什麼?
我應該使用正則表達式來檢查文件的名稱是否符合我的標準,或者是否有更簡單的解決方案?
這裏是什麼樣的我腦子裏想的:
String fileExtensions = "(.js|.php|.html|.asmx|.htm|.css)$"; // $ end of line regex
JFileChooser fileChooser = new JFileChooser();
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
String fileName = file.toString();
Pattern pattern = Pattern.compile(fileExtensions);
Matcher matcher = pattern.matcher(fileName);
if (matcher.find()) {
openAndReadFile(); // opens the file and outputs contents
} else {
// prompt the user to open a different file
}
} else {
// do nothing because cancel was pressed
}
有什麼建議?
不,我沒有。我正在尋找檢查這些類型的擴展名的文件名的最有效的方法。不知道我可以使用擴展過濾器,我將不得不考慮這一點,在此先感謝。 –
@ inner_class7 classic [XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem):)。無論如何是正確的/首選的方法。 – Pshemo
還有一個問題呢?有了這個,你可以創建一個多級或多擴展篩選器或我必須創建多個篩選器,每次我想檢查文件的名稱? –