2012-06-10 4 views
0

Можно создать дубликат:
How to delete stuff printed to console by System.out.println()?Очистка консоли в Java

У меня есть класс Рассол, который сериализующий связанный список слов и подсчета слов. Все работает, за исключением того, что консоль не очищается, когда я сохраняю и загружаю данные. Даже когда я покидаю eclipse и запускаю программу снова, появляется старый вывод консоли вместе с новым выходом. Есть ли способ очистить консоль перед загрузкой данных объекта? Вот мой метод экономии:

void save(T obj){ 
    try{ 
     FileOutputStream fos = new FileOutputStream(filename); 
     ObjectOutputStream out = new ObjectOutputStream(fos); 
     out.writeObject(obj); 
     out.close(); 
    }catch(Exception e){ 
     System.err.println(e); 
     System.exit(1); 
    } 
} 

и мой метод загрузки:

T load(){ 
    try{ 
     FileInputStream fis = new FileInputStream(filename); 
     ObjectInputStream in = new ObjectInputStream(fis); 
     temp = (T) in.readObject(); 
     return temp; 
    }catch(FileNotFoundException f){ 
     System.err.println("Warning! File Not Found. Null is returned"); 
     System.exit(1); 
     return null; 
    } catch (Exception e) { 
     System.err.println(e); 
     System.exit(1); 
     return null; 
    } 
} 
+0

Какая консоль? Вы имеете в виду поток ошибок? –

+0

Я должен был указать стандартный вывод (System.out) – nh0815

ответ

0

Я наткнулся на эту проблему раньше. Это довольно шумно. Я смог сделать это, используя бесплатную библиотеку с открытым исходным кодом под названием JLine http://jline.sourceforge.net/ Это довольно приятная библиотека и имеет поддержку терминалов Unix и Windows, включая ввод паролей. Он также имеет метод clearScreen() для очистки экрана.

Я предлагаю вам использовать JLine и посмотреть, соответствует ли он вашим потребностям. Я могу заверить вас, что это хорошая библиотека, и я уверен, что вы найдете ее другие функции полезными.