posts - 88, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          java修改stdout的歷史輸出

          Posted on 2016-04-21 17:06 Milo的海域 閱讀(419) 評論(0)  編輯  收藏 所屬分類: Java
          java里如何修改console的歷史輸出信息呢?如果是當前行的修改可以簡單想到"\r"的方案,但是如果要修改上一行呢? google了下原來還是有方法的,需要用到ansi的control sequences
          ANSI code

          用java寫了個簡單的例子,例子就是把曾經的output修改為其他字符串并恢復之后的打印,代碼里加了sleep,主要方便理解各種控制序列的含義
                  //print some test messages
                  System.out.println("1");
                  Thread.sleep(
          1000);
                  System.out.println(
          "22");
                  Thread.sleep(
          1000);
                  System.out.println(
          "333");
                  Thread.sleep(
          1000);
                  System.out.println(
          "4444");
                  Thread.sleep(
          1000);

                  
          /**
                   * modify "333" to "-"
                   
          */
                  
          // Move up two lines
                  int count = 2;
                  System.out.print(String.format(
          "\033[%dA", count));
                  Thread.sleep(
          1000);
                  
          // Erase current line content
                  System.out.print("\033[2K");
                  Thread.sleep(
          1000);
                  
          // update with new content
                  System.out.print("-");
                  Thread.sleep(
          1000);
                  
          // Move down two lines
                  System.out.print(String.format("\033[%dB", count));
                  Thread.sleep(
          1000);
                  
          // Move cursor to left beginning
                  System.out.print(String.format("\033[D", count));
                  
          // continue print others
                  Thread.sleep(1000);
                  System.out.println(
          "55555");
                  Thread.sleep(
          1000);
          主站蜘蛛池模板: 寿光市| 南岸区| 富蕴县| 新余市| 上杭县| 定兴县| 驻马店市| 竹溪县| 铅山县| 黔西县| 阿城市| 随州市| 灯塔市| 三门峡市| 平罗县| 樟树市| 安陆市| 虞城县| 云和县| 钟祥市| 清丰县| 松溪县| 伊金霍洛旗| 鱼台县| 安庆市| 新营市| 慈利县| 凤台县| 华阴市| 开平市| 司法| 潮州市| 关岭| 宁德市| 广元市| 曲周县| 石首市| 蒙山县| 昭通市| 安龙县| 潼关县|