当用户尝试使用非法字符保存文件时,我正在尝试创建并显示错误消息。我只希望用户输入A-Z
和a-z
,数字和"-" "_"
中的字母。如果他们输入诸如. , /, +, =
之类的字符,我想显示一个错误。就是所有不是字母或数字或"-"
和"_"
的东西。
private void saveAs(){
FileDialog fDialog = new FileDialog(this, "Save ...", FileDialog.SAVE);
fDialog.setVisible(true);
String fname = fDialog.getFile();
if(fname == null)
return;
fileName = fDialog.getDirectory() + fname + ".txt";
if (fileName.matches("[-_. A-Za-z0-9]+\\.(pdf|txt|csv)")){
try {
PrintWriter output = new PrintWriter(new FileWriter(fileName));
output.println(text.getText());
output.close();
} catch ( IOException e) {
MessageDialog dialog = new MessageDialog(this, "Invalid Characters, Can't Save File", e.getMessage());
dialog.setVisible(true);
e.printStackTrace();
return;
}
}
}