今天在Eclipse中写一个小程序,用到了Console,结果在运行时报空指针,但是在命令行里面运行却正常。
package g2w.playground.console;
import java.io.Console;
public class ConsoleLogin {
private static String USERNAME = "greatghoul";
private static String PASSWORD = "mypass";
public static void main(String[] args) {
Console console = System.console();
String username = console.readLine("username: ");
String password = new String(console.readPassword("password: "));
if (USERNAME.equals(username) && PASSWORD.equals(password)) {
console.printf("Hi, there! Dear %s.", username);
} else {
console.printf("Invalid username or password.");
}
}
}
Java API 中 写道
Whether a virtual machine has a console is dependent upon the underlying platform and also upon the manner in which the virtual machine is invoked. If the virtual machine is started from an interactive command line without redirecting the standard input and output streams then its console will exist and will typically be connected to the keyboard and display from which the virtual machine was launched. If the virtual machine is started automatically, for example by a background job scheduler, then it will typically not have a console.
If this virtual machine has a console then it is represented by a unique instance of this class which can be obtained by invoking the System.console() method. If no console device is available then an invocation of that method will return null.
看来是用不了,得用Scanner才行。
via: http://www.codeguru.com/forum/showthread.php?t=487190
分享到:
相关推荐
import java.io.Console; import java.io.IOException; import java.util.Date; import cn.edu.ctgu.ghl.fetion.Contact; import cn.edu.ctgu.ghl.fetion.Fetion; import cn.edu.ctgu.ghl.fetion.FetionAppEvent; ...
注意:Console 类只能在标准输入、输出流未被重定向的原始控制台中使用,在 Eclipse 或者其他 IDE 的控制台中不能使用。 Console 类的优点: * 可以读取控制台的输入 * 可以输出控制台信息 * 可以格式化输出...
Java中Console对象实例代码是Java 6中引入的新功能,位于java.io包下,提供了访问控制台的功能。Console对象实例代码主要用于控制台输入输出操作,例如读取用户输入、读取密码输入等。 Console对象的获取可以通过...
import java.io.Console; import java.io.IOException; import java.util.Date; import cn.edu.ctgu.ghl.fetion.Contact; import cn.edu.ctgu.ghl.fetion.Fetion; import cn.edu.ctgu.ghl.fetion.FetionAppEvent; ...
import java.io.*; import java.net.*; public class TCPChatServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(6666); // 创建ServerSocket...
在本文中,我们将详细介绍如何配置Eclipse集成开发环境(IDE)与Apache Tomcat服务器,以便进行JSP和Servlet的开发。我们将遵循以下步骤: **第一步:准备工具软件** 确保下载最新版本的软件: 1. Eclipse:这里是...
5. **处理系统输出**:控制台输出的乱码可能需要修改终端的字符集设置,或者在Java中使用`System.setProperty("console.encoding", "UTF-8")`。 6. **处理网页和网络数据**:在HTTP请求和响应中正确设置`charset`,...
import java.io.IOException; import java.util.Calendar; import com.ebay.sdk.ApiContext; import com.ebay.sdk.ApiCredential; import com.ebay.sdk.helper.ConsoleUtil; import ...
-Xms128m -Xmx512m -Dfile.encoding=UTF8 -Duser.timezone=GMT+0800 -Dcatalina.base=安装路径> -Dcatalina.home=安装路径> -Djava.io.tmpdir=安装路径>/temp ``` - 注意替换`安装路径>`为你实际的Tomcat安装路径...
已知问题本程序使用 java.io.Console 类的 readPassword() 方法读入密码,有可能无法在 Eclipse 下直接编译运行。请使用命令行方式单独运行。因博客页面设置原因,程序中的格式解析部分可能无法正常工作。如有需要,...
如果使用Eclipse改变项目的编码格式,文件中的中文就会变得乱码。因此,我们需要先复制文件内容,然后改变文件格式,最后全选粘贴。这是一个非常繁琐的过程,需要花费很长时间和精力。 二、思路 为了解决这个问题...
本代码通过Java实现了TCP socket通信。目前直接在一台机上同时...2.先运行TCPDesktopServer工程,打开Server监听,随后再运行TCPDesktopClient工程,便能在控制台Console中看到由Client发送的数据。 绝对好用!!!!
import java.io.File; import org.jivesoftware.openfire.*; import org.jivesoftware.openfire.container.*; public class TestPlugin implements Plugin { @Override public void initializePlugin...
3. **IDE**: 推荐使用IntelliJ IDEA或Eclipse。 #### 三、创建Spring Boot项目 ##### 1. 使用Spring Initializr创建项目 - **访问网站**: 打开浏览器访问[Spring Initializr](https://start.spring.io/); - **...
1. **打开 Hibernate Configurations 视图**:在 Eclipse 或类似的集成开发环境中,通过 `Window -> Show View -> Other...` 找到 Hibernate Configurations 视图。 2. **添加配置**:在视图空白区域右键选择 `Add ...
首先,在IDE(如Eclipse或IntelliJ IDEA)中创建一个新的Java Web项目。为了便于管理和维护,建议按照MVC模式来组织项目的目录结构。比如,可以将模型类(Model)放在`com.etong.bookstore.vo`包下,控制器类...
Martin is one of the leaders of the Bulgarian Java Users group (BGJUG), a regular speaker at Java conferences, and one of the organizers behind the jPrime conference in Bulgaria (http://jprime.io/).,...
在本文中,我们将深入探讨如何在Spring Boot应用中集成Swagger,并详细解析集成过程及关键配置。Swagger是一款强大的API文档工具,它可以自动生成RESTful API的文档,帮助开发者更轻松地管理和测试API。以下是对...
Java编程是一种广泛使用的高级编程语言,以其跨平台的特性、面向对象的设计以及强大的功能而闻名。"javaprograms:要学习的javaprograms"这个标题表明我们即将探讨的是关于Java编程的学习资源,可能是代码示例、教程...