PersistenceManager.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:PhET 作者:
public Object loadLocal() throws FileNotFoundException {
    Window frame = getFrame();

    // Choose the file to load.
    JFileChooser fileChooser = new JFileChooser( _directoryName );
    fileChooser.setDialogTitle( "Load File" );
    int rval = fileChooser.showOpenDialog( frame );
    _directoryName = fileChooser.getCurrentDirectory().getAbsolutePath();
    File selectedFile = fileChooser.getSelectedFile();
    if( rval == JFileChooser.CANCEL_OPTION || selectedFile == null ) {
        return null;
    }

    // XML decode directly from the file.
    Object object = null;
    String filename = selectedFile.getAbsolutePath();
    FileInputStream fis = new FileInputStream( filename );
    BufferedInputStream bis = new BufferedInputStream( fis );
    XMLDecoder decoder = new XMLDecoder( bis );
    decoder.setExceptionListener( new ExceptionListener() {
        private int errors = 0;

        // Report the first recoverable exception.
        public void exceptionThrown( Exception e ) {
            if( errors == 0 ) {
                showError( QWIResources.getString( "Load.error.decode" ), e );
                errors++;
            }
        }
    } );
    object = decoder.readObject();
    decoder.close();

    return object;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号