在程序加载之前检查文件

时间:2014-10-15 01:31:10

标签: java events awt

我们的想法是创建一个主屏幕,从文本文件中加载所需的信息。应用程序查找该文件,如果找不到,则会询问文件路径。

到目前为止我有这段代码

    BufferedReader br;

    try{
        br = new BufferedReader(new FileReader(principal));
    }catch(FileNotFoundException e){
        while(!principal.contains(".INICIO")){
            JOptionPane.showMessageDialog(this, "Not a valid file paht", "error",JOptionPane.ERROR_MESSAGE);
            JFileChooser archivo = new JFileChooser("Seleccione el archivo principal");
            principal = archivo.getSelectedFile().getPath();
        }
    }

之后我希望程序再次使用新文件路径。我正在思考以下几点:

   while(condition){
       try{
           br = new BufferedReader(new FileReader(principal));
       }catch(Exception e){
           //some code here
       }
   }

但我不知道"条件"是。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这归结为许多工作流程。如果您只想知道用户选择的文件是否存在,您可以执行类似...

的操作
JFileChooser archivo = new JFileChooser("Seleccione el archivo principal");
int action = archivo.showOpenDialog(null);
File principal = archivo.getSelectedFile();
while (action != JFileChooser.CACNEL_OPTION && !principal.exists()) {
    JOptionPane.showMessageDialog(this, "Not a valid file paht", "error",JOptionPane.ERROR_MESSAGE);
    action = archivo.showOpenDialog(null);
    principal = archivo.getSelectedFile();
}

if (!action == CACNEL_OPTION) {
    // File reference should now be valid, open and read away...
}

现在,如果您还想知道文件是否有效,则需要阅读它。关于这一点,我将创建一个方法,可以提示用户File,如果他们选择取消,可以返回null,这样你就可以更好地控制流程...