@Override public Sudoku load() throws SudokuDAOException { _stringReader.setBuilder(_objectBuilder); // todo: un seul reader/builder ? try { _stringReader.setInput(new FileReader(_filename)); _stringReader.parse(); return _objectBuilder.getSudoku(); } catch (FileNotFoundException e) { throw new SudokuDAOException("Fichier non trouvé: " + _filename); } catch (SudokuBuilderException e) { throw new SudokuDAOException( "Erreur dans l'interprétation du fichier " + _filename + " : " + e.getMessage()); } }
@Override public void save(Sudoku sudoku) throws SudokuDAOException { _objectReader.setBuilder(_stringBuilder); _objectReader.setInput(sudoku); try { _objectReader.parse(); } catch (SudokuBuilderException e) { throw new SudokuDAOException("Erreur d'analyse du sudoku: " + e.getMessage()); } System.out.println(_stringBuilder.getString()); try { PrintWriter out = new PrintWriter(_filename); out.println(_stringBuilder.getString()); out.close(); } catch (FileNotFoundException e) { throw new SudokuDAOException( "Impossible de sauvegarder le fichier: " + _filename + " - " + e.getMessage()); } }