三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

在控制台程序中输入密码,而不会显示出密码

时间:2023-12-19作者:未知来源:三度网教程人气:


有两种方法可以实现,一种是使用jni调c程序(这个我还没试过),另一种就是纯java的实现方式(不过可能会有点闪烁).
原理很简单,就是另外启动一个线程,不停的写提示输入密码,而主线程负责读密码.


public class CTest implements Runnable
{
Thread thread = null;
public boolean flag = false;
 
public static void main(String s[])
{
try
{
StringBuffer password = new StringBuffer();
CTest c = new CTest();
c.test();

while(true)

char cc = (char)System.in.read();
c.flag = true;
if(cc != '\r' && cc != '\n')
{
password.append(cc);
}

if(cc == '\n')
{
break;
}
}
System.out.println("Your password is:" + password.toString());
}
catch(Exception e )
{
 System.out.println(e);

}

public void run()
{
while(!flag)
{
 try
 {
 System.out.print("\r" + "Please enter your password:" + " \r" );
 thread.sleep(10);
 }
 catch(Exception e)
 {}
}
}

public void test() throws Exception
{
 if(thread==null)
{
 thread=new Thread(this);
 thread.start(); 
}
}

关键词:  在控制台程序中输入密码  而不会显示出密码





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版