我刚用Java制作了一个文件阅读器。我将它用于游戏Hangman,现在用户可以选择他们想要使用的单词列表/词典。
效果很好,但是当用户必须选择文件时,他可以选择所有类型的文件。但是,我希望他们只打开.txt
个文件以确保程序正常运行。我必须使用哪些代码才能使用户只能打开文本文件?
这是我使用的文件阅读器方法:
private static ArrayList readData(File someFile)
{
String data;
ArrayList<String> aStringArrayList = new ArrayList<String>();
try // men is verplicht een try block te gebruiken.
{
FileReader filereader = new FileReader(someFile.getAbsolutePath());
JOptionPane.showMessageDialog(null, "Gekozen woordenlijst is: "
+ someFile.getAbsolutePath());
BufferedReader bufferedreader = new BufferedReader(filereader);
while((data = bufferedreader.readLine()) != null)
{
System.out.println("\nIngelezen data is " + data);
aStringArrayList.add(data);
}
filereader.close();
}
catch (FileNotFoundException e)
{
JOptionPane.showMessageDialog(null, "Got an FileNotFoundException: "
+ e.getMessage());
}
catch (IOException e)
{
JOptionPane.showMessageDialog(null, "Got an IOException: "
+ e.getMessage());
}
return (aStringArrayList);
}
答案 0 :(得分:1)
尝试将JFileChooser与FileNameExtensionFilter一起使用。
这样的事情:
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("txt files", "txt");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
// do your stuff here
}
这里的父母是你的JFrame。