我通过创建客户端和服务器关系来模拟一个简单的聊天室。我只是使用Netbeans IDE来运行它。当用户按下回车键时,无论他们在IDE控制台中输入什么,都会被发送到服务器,然后回显
console = new BufferedReader(new InputStreamReader(System.in));
while (thread != null) {
try {
streamOut.writeUTF(console.readLine());
streamOut.flush();
} catch(IOException ioe){
System.out.println("Sending error: " + ioe.getMessage());
stop();
}
}
我正在尝试创建一个登录/注册系统,要求用户输入用户名和密码。我希望程序暂停执行,直到按下回车键。我目前所拥有的是从用户名输入的内容中删除第一个字符
System.out.println("Type 1 if you are an existing user \nType 2 if you want to register");
System.in.read();
System.out.println("Username:");
System.in.read();
System.out.println("Password:");
示例输出
Connected: Socket[addr=/127.0.0.1,port=10233,localport=52932]
Type 1 if you are an existing user
Type 2 if you want to register
2
Username:
foo
Password:
52932: oo
bar
52932: bar
答案 0 :(得分:1)
我会用BufferedReader做到这一点。
这样的事情:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Username: ");
String username = reader.readLine();
System.out.print("Password: ");
String password = reader.readLine();
请注意,以纯文本形式发送密码并将其存储在String对象中是不好的做法。攻击者可以毫不费力地嗅探纯文本用户名和密码,并且有可能在销毁之前读取String的数据。