2012-06-10 87 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,看它是否符合你的需求。我可以向你保证它是一个很好的库,我相信你会发现它的其他功能很有用。