精华内容
下载资源
问答
  • JAVA实现控制台清屏效果

    千次阅读 2019-04-01 19:44:48
    JAVA实现控制台清屏效果,使用ProcessBuilder类。 /** * 该方法只在CMD窗口下有效 * @author HYQ95612 * */ public class ControlWindowsConsole { // 参数一 "/k"保留窗口"/c"关闭窗口 // 参数二 "cls"或者...

    JAVA实现控制台清屏效果,使用ProcessBuilder类。

    /**
     * 该方法只在CMD窗口下有效
     * @author HYQ95612
     *
     */
    public class ControlWindowsConsole {
    	// 参数一 "/k"保留窗口"/c"关闭窗口
    	// 参数二 "cls"或者其他命令
    	public static void console(String state, String con) {
    		try {
    			new ProcessBuilder("cmd", state, con).inheritIO().start().waitFor();
    		} catch (Exception exception) {
    			System.out.println("出错了!");
    		}
    	}
    }
    
    展开全文
  • JAVA 控制台清屏 2

    万次阅读 2011-06-09 23:12:00
    最近写了个java的定时器程序,因为在C/C++中有system("cls")可以进行清屏,然而在java中却从来没发现过相关功能的方法,在网上搜了很久也没找到成功的解决方案,所有的方案都是带有喜剧性的,1.Runtime.getRuntime()...

    最近写了个java的定时器程序,因为在C/C++中有system("cls")可以进行清屏,然而在java中却从来没发现过相关功能的方法,在网上搜了很久也没找到成功的解决方案,所有的方案都是带有喜剧性的,

    1.Runtime.getRuntime().exec("cmd /c cls");但这种是建立子线程,不能控制当前屏幕的清屏,

    2.就更搞笑了,System.out.println("/n /n /n /n /n /n /n /n /n /n /n /n /n /n /n /n");当然这种方法在某些情况下达到了目的,不过总觉得怪怪的,有点不尽人意3.System.out.println(" /b /b /b /b /b /b /b /b /b /b /b");这个就更搞笑了,呵呵,大家说呢;

     

    所以我自己思考了一个方案:

     

    要java在windows下的cmd下实现清屏,我想了个方案,就是通过JNI调用一个库文件(.dll),这个dll中包含一个实现清屏功能(system(“cls”))的导出函数。在java程序中加入代码调用这个库,即可实现当前屏幕的清屏。(--JNI的使用,以及dll的制作在百度随便搜索即可找到,这里请恕不多谈^_^--)

     

    实现步骤:

    1.写一个dll.h

     

    #ifndef _Included_Cls 
    #define _Included_Cls 
    #ifdef __cplusplus 
    extern "C"

    #endif 
    JNIEXPORT void JNICALL Java_Cls_clear 
    (JNIEnv *, jobject); 
    #ifdef __cplusplus 

    #endif 
    #endif

    2.再写一个dllmain.c

     

    #include "jni.h"
    #include "dll.h" 
    #include "stdlib.h" 
    JNIEXPORT void JNICALL Java_Cls_clear(JNIEnv *env, jobject obj) 

    system("cls");
    }

     

    3.用vc++建立一个dll工程(我的工程名为clsTest)

    导入dllmain.c 和dll.h以及jdk下include目录下的jni.h和include/win32下的jni_md.h 共四个文件

    然后build 这个dll工程,将生成的clsTest.dll放入到你的java.library.path中的其中一个目录下

    查看java.libray.path用代码System.out.print(System.setProperty("java.library.path","."));

    我是根据我的配置将clsTest.dll放到C:/Program Files/Java/jdk1.6.0/jre/bin下

    4.测试

    新建一个测试类Test.java

     

    public class Test{ 
    public native void clear();//左方的native是通知Java這個函数会使用到外部函数 
     
    static { 
    System.loadLibrary("clsTest"); //左方的代码代表我要载入clsTest.dll的动态链接

    }

    public static void main(String[] args) { 
    final Test a=new Test();

    Runnable k=new Runnable(){
     public void run(){
      for(int i=0;i<20;i++){
       System.out.println(i);
       try {
        Thread.sleep(1000); 
        a.clear();
       } catch (Exception e) {
       }

      }
     }
     };
    k.run();//执行线程

    }
    5.在cmd下 javac Test.java

    java Test

    即可看到运行效果^_^~

     

    注:该解决方案只解决控制台程序的刷屏,且必须是系统控制台,而eclipse等其它IDE的控制台是无法用这种方式进行清屏的,如果要实现,必须使用入侵IDE的进程,因为在eclipse的内置控制台右击邮件有个clear功能,实际上就是个setText(null)事件,入侵IDE就是要在外部制造这个事件,其它IDE要也差不多。

    同样,java的这种刷屏解决方案也适用于linux,不同是其链接库文件是.so,总之原理是差不多的。

    展开全文
  • Java控制台清屏

    万次阅读 2010-06-12 12:20:00
    看到网上有人讨论Java如何实现对控制台清屏,看到的内容不是很理想。所以把这些内容总结一下。直观一点,先看下代码吧import static java.lang.System.out; /**  * Build by netbeans  * @author Felix Wu  *...

    看到网上有人讨论Java如何实现对控制台清屏,看到的内容不是很理想。所以把这些内容总结一下。

    直观一点,先看下代码吧

     

    import static java.lang.System.out;
    /**
     * Build by netbeans
     * @author Felix Wu
     */
    public class ConsleRewriteTest {
        public static void main(String[] agrs) {
            out.print(          "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa" );
            pause();
            out.print( "/r" + "                                                         " );
           
            int total = 100;
            for( int i=1; i<total; i++ ) {
                pause();
                out.print( "/r" + i + "/"+total  );
            }
        }

        private static void pause() {
            try {
                Thread.sleep(1000L);
            } catch (InterruptedException e) {
                //Swallow this exception
            }
        }
    }

     

    严格上说控制台是Java进程的输出设备。在Java中对应System.out流,对这个流而言你只能向其中输入内容。那么Java程序怎么和他控制台通讯呢?

    方式一:通过ASCII码的控制字符'/r'.

                '/r'表示回车,就回到行首。'/n'表示换行,即移到下一行(光标垂直下移,如果光标在原行的第n个字符位置,那么就下移到下一行的第n个字符位置)。那么"/r/n"表示回车换行,即移到下一行的行首。

                注意上面对'/r'和'/n'的解释是ASCII码标准含义。但是不同的软件对'/n'解释不尽相同。比如按照ASCII码的标准解释回车换行是"/r/n",而UNIX为了节约存储空间,其API在保存采用ASCII编码的文本时用'/n'替代"/r/n",相应的在读取显示时'/n'效果等效于"/r/n"。简而言之,在UNIX的API中'/n'的意思是回车换行("/r/n")而不是标准的换行。JVM也采用了这个风格。但是在Windows系统中其API采用了'/n'的标准本意。对'/n'的不同解释,造成了同样的文本在不同的软件中的显示效果不相同。

     

    方式二:和输出设备通讯.

                这个方式我没有尝试过,不过用JNI可以实现。输出设备可能是软件(比如常见的控制台窗口),也可能是硬件。如果是软件的话,Java程序和此软件通讯,让其清屏(提供此功能的情况下)。如果是硬件可以和驱动通讯让其清屏(提供此功能的情况下)。

     

    对应上面给的例子,不要直接在NB6.8中运行,因为NB6.8的控制台没有解析'/r'控制字符,这应该是其一个bug。在window上可以直接在cmd中运行。

    展开全文
  • java实现控制台打印进度条,清屏

    千次阅读 2019-06-12 15:43:35
    package com.example.print; /* .......................阿弥陀佛...................... . _oo0oo_ . . o8888888o . . ...
    package com.example.print;
    /*
    .......................阿弥陀佛......................
    .                       _oo0oo_                      .
    .                      o8888888o                     .
    .                      88" . "88                     .
    .                      (| -_- |)                     .
    .                      0\  =  \0                     .
    .                   ___\‘---’\___                   .
    .                  .' \|       |\ '.                 .
    .                 \ \\|||  :  |||\\ \                .
    .                \ _||||| -卍-|||||_ \               .
    .               |   | \\\  -  \\\ |   |              .
    .               | \_|  ''\---\''  |_\ |              .
    .               \  .-\__  '-'  ___\-. \              .
    .             ___'. .'  \--.--\  '. .'___            .
    .         ."" ‘<  ‘.___\_<|>_\___.’>’ "".          .
    .       | | :  ‘- \‘.;‘\ _ \’;.’\ - ’ : | |        .
    .         \  \ ‘_.   \_ __\ \__ _\   .-’ \  \        .
    .    =====‘-.____‘.___ \_____\___.-’___.-’=====     .
    .                       ‘=---=’                      .
    .                                                    .
    .....................佛祖保佑 ,永无BUG..................
    */
    
    /**
     * @author 陈毅程  at  2019\6\12 14:32
     * contact by QQ:2446762079
     * contact by 微信:cyc2446762079
     */
    public class Print_Text {
        
        public static void main(String[] args) {
            final long size = 1000L;
            for (int i = 0; i < 101; i++) {
                String tu = "▧";
                for (int j = 0; j < i / 10; j++) {
                    tu += "▧";
                }
                System.out.print("\r当前进度:" + (i) + "%\t" + tu + "\t" + (i * 10) + "/" + size);
                try {
                    Thread.sleep(50);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    
    
    }
    

     

    展开全文
  • java实现控制dos清屏cls

    2014-07-04 15:28:25
    解压之后得到CLS.class和cls.dll把他放在你程序的当前文件下,调用CLS.CLS()方法就能实现。
  • Java实现清屏功能

    万次阅读 2018-11-24 09:35:46
    1、编写一个类ClearScreen.java,代码如下: public class ClearScreen{ //实现清屏方法的接口 public native static void clearScreen(); //加载dll文件 { System.loadLibrary("Clear");//Clear 生成dll...
  • 然而在设计显示棋盘的时候,我震惊地发现使用Windows下Java实现控制台清屏还真的没什么办法。为了更新棋盘,当然要频繁清空控制台的显示。控制台作为显示本来就够low了,要是再没点要求,那也太混了。 ​ 网上查找了...
  • Java如何实现清屏(CMD版) 参照: 更新时间:2018年05月26日 09:45:57 作者:雅钧 JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++) JNI简介 JNI是Java Native...
  • /**控制台清屏 * @throws IOException * @throws InterruptedException */ public void clearScreen() throws IOException, InterruptedException { // 新建一个 ProcessBuilder,其要执行的命令是 cmd.exe...
  • java 在Cmd命令行实现清屏

    千次阅读 2018-05-24 23:19:12
    清屏代码:/** * @throws IOException */ public static void cls() throws IOException { new ProcessBuilder("cmd", "/C", "cls") .inheritIO() .start(); } 测试:import ...
  • JAVA清空控制台

    千次阅读 2020-07-15 21:05:08
    参考链接:https://www.cnblogs.com/bjguanmu/p/11811262.html 知识点:来自链接 颜色代码: QUOTE:字背景颜色范围: 40–49 字颜色: 30–39 40: 黑 ... //清屏打印 }} 最后,分享个手机上的java工具:java编译器by于汝漩
  • 控制台清屏转载自 https://blog.csdn.net/qq_18144681/article/details/51222405 按任意键返回主菜单 System.in.read(); 清屏 public static void clear() throws AWTException { Robot r = new Robot(); ...
  • 编辑了一段代码,让用户输入账号密码,如果账号密码正确就进入选择界面,在进入选择界面之前,我想把屏幕上面输入的账号密码吗全部清除!该如何实现!不用循环换行java里面的方法行吗?
  • Java中的一些清屏方法(汇总)

    万次阅读 2019-04-02 20:29:26
    虽然Java中的GUI编程已经很方便,但我们还是时不时地需要在命令行中实现图形化效果(比如实验要求233),下面给出一些在Java中实现清屏或类似清屏效果的方法。 1.简单暴力法 (也就是输出许多空行~) // public ...
  • JAVA 控制台清屏

    千次阅读 2011-06-09 23:11:00
    看到网上有人讨论Java如何实现对控制台清屏,看到的内容不是很理想。所以把这些内容总结一下。直观一点,先看下代码吧import static java.lang.System.out;/** * Build by netbeans * @author Felix Wu */public ...
  • 如何实现控制台清屏?(借鉴)

    千次阅读 2018-07-31 21:59:00
    package 清屏; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; public class 清屏 { public static void main(Stri...
  • java控制台清屏

    万次阅读 2008-09-04 12:25:00
    最近写了个java的定时器程序,因为在C/C++中有system("cls")可以进行清屏,然而在java中却从来没发现过相关功能的方法,在网上搜了很久也没找到成功的解决方案,所有的方案都是带有喜剧性的,1.Runtime.getRuntime()...
  • JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。这篇文章主要介绍了Java使用jni清屏功能的实现(只针对cmd) ,感兴趣的朋友跟随脚本之家小编一起学习吧
  • Eclipse控制台实现清屏的方法

    万次阅读 多人点赞 2016-04-22 18:34:06
    Java】Eclipse控制台清屏方法最近在跟着教学课程学习Java语言,老师之前是做职业程序猿的。最近布置了一个简单的课后作业,就是在控制台去模仿ATM机的界面,并实现一些基本的业务逻辑。在控制台用System.out....
  • 这他妈怎么行,于是开始在百度找清屏的方法,找来找去,似乎唯一可行的只有一个需要用vc的方法, 本着革命的小将不接受外来文化的污染原则,我放弃的这个方法,采用了一个最笨的方法,那就是 System.out.println...
  •  \033[2J 清屏   \033[K 清除从光标到行尾的内容   \033[s 保存光标位置   \033[u 恢复光标位置   \033[?25l 隐藏光标   \33[?25h 显示光标   文章装载: ...
  • 任务一:基于控制台的购书系统 java实验报告

    千次阅读 多人点赞 2020-10-29 21:03:33
    任务一:基于控制台的购书系统 任务目的 理解和掌握面向对象的设计程序 会用类图进行面向对象设计 掌握封装的实现及好处 包和访问控制修饰符的使用 任务描述 输出所有图书的信息:包括每本书的编号、书名、单价...
  • 下面我将和大家分享一个用Java做的简单小程序,用来实现控制台字符动画的效果。本文供大家参考,如有错误或是考虑不周的地方,还望大家不吝指出。 程序效果 可设置画布尺寸,添加图形元件,设置元件坐标和效果。...
  • 实现的CLI需要有清屏功能,在概要设计的时候本以为通过Java调用本地的clear命令可以实现,但貌似没戏。网上的方法大致有两种,

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,419
精华内容 967
关键字:

java清屏控制台

java 订阅