在Java中,可以在关闭后重新打开System.in

我有一个multithreading控制台应用程序,可以从两个不同的来源获取输入。 一个是用户输入控制台,另一个是网络。 我使用BufferedReader.readline()来获取用户和块的输入,这很好,除非我在等待时收到网络输入。 在这种情况下,我需要通过取消readline()来取消阻止用户线程。 我认为取消的最好方法是关闭System.in并使readline()抛出exception。 在那之后,虽然我需要重新打开它。 那可能吗?

validationHUGE XML文件

我正在尝试找到一种方法来针对XSDvalidation大型XML文件。 我看到了这个问题……validationXML的最佳方法……但答案都指向使用Xerces库进行validation。 唯一的问题是,当我使用该库来validation180 MB文件时,我得到一个OutOfMemoryException。 是否有其他工具,库,策略来validation大于普通的XML文件? 编辑:SAX解决方案适用于javavalidation,但libxml工具的另外两个建议对于java之外的validation也非常有用。

字符串如何在java中终止?

你好 我正在尝试编写一个递归函数来计算Java中字符串的长度 我知道已经存在str.length()函数,但问题语句想要实现递归函数 在C编程语言中,终止字符是’\ 0’,我只想知道如何知道字符串是否以Java结尾 当我在测试字符串中放入’\ n’时,我的程序结束得很好。 请告诉我。 谢谢! /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package careercup.google; /** * * @author learner */ public class Strlen { private static final String Test = “abcdefg\n”; private static int i =0; public static void […]

测试颜色是否相等

我正在从iTunes U上的斯坦福大学演讲(仍然很绿)中完成突破任务,并陷入了咆哮。 我正在尝试为不同颜色的砖块设置一个点值,这样我就可以计算出一个分数但是我的if似乎不起作用。 我觉得getColor()没有返回我认为的值; 我创建了一个状态标签来显示它返回的内容,但我仍然无法弄清楚如何测试它。 很可能这是一件简单的事情,我很遗憾或者还不知道。 这是我正在研究的一小部分内容: if (collider != null && collider != paddle) { remove(scoreLabel); vy = -vy; Color brickColor = collider.getColor(); add(new GLabel(“” + collider.getColor(), 10, 12)); double temp = brickVal(brickColor) * scoreMultiplier; score += Math.abs(temp); addScoreboard(); remove(collider); } } private double brickVal(Color c) { if (c.equals(Color.RED)) { return 10.0; } else […]

两个整数的乘法溢出导致负数

请考虑Java语言规范中的此片段。 class Test { public static void main(String[] args) { int i = 1000000; System.out.println(i * i); long l = i; System.out.println(l * l); } } 输出是 -727379968 1000000000000 为什么结果-727379968 (i*i) ? 理想情况下应该是1000000000000。 我知道Integer的范围是从-2147483648到2147483647.所以显然1000000000000不在给定的范围内。 为什么结果变成-727379968 ?

在DispatcherServlet中找不到带有URI 的HTTP请求的映射,名称为“java4s”

早些时候我的代码工作但现在我遇到这个错误有时代码工作,有时它不起作用。 我的代码是 Java4sController.java package java4s; import javax.validation.Valid; import javax.servlet.http.HttpServletRequest; //import javax.servlet.http.HttpServlet; //import javax.servlet.*; import javax.servlet.http.*; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.sql.*; //import org.h2.jdbcx.JdbcConnectionPool; //import org.springframework.security.core.context.SecurityContextHolder; @Controller public class Java4sController { HttpSession session; String uname=””,pass=””; Statement stmt; Connection conn; @RequestMapping(value=”displayForm.html”, method=RequestMethod.GET) public String helloWorld(UserDetails ud,HttpServletRequest request,HttpServletResponse response) { return “loginPage”; […]

如何将int 数组转换为List?

我希望这段代码显示为true : int[] array = {1, 2}; System.out.println(Arrays.asList(array).contains(1));

java.lang.ClassNotFoundException:来自xerial的Sample.java程序中的org.sqlite.JDBC错误

我试图让Xerial的Sample类在Eclipse中使用sqlite,但我不断收到错误“ClassNotFoundException:org.sqlite.JDBC” 我从https://bitbucket.org/xerial/sqlite-jdbc/downloads下载了sqlite-jdbc-3.7.2.jar文件。 将它复制到eclipse中我的项目“database_test”下的lib文件夹中。 然后右键单击Project-> Properties-> Java Build Path-> Libraries选项卡 – > Add JARs->选择jar文件。 我试图从这里找到的Xerial执行此代码: https ://bitbucket.org/xerial/sqlite-jdbc#markdown-header-usage // load the sqlite-JDBC driver using the current class loader Class.forName(“org.sqlite.JDBC”); Connection connection = null; try { // create a database connection connection = DriverManager.getConnection(“jdbc:sqlite:sample.db”); Statement statement = connection.createStatement(); statement.setQueryTimeout(30); // set timeout to 30 sec. statement.executeUpdate(“drop table if […]

如何在生成我的应用程序的最终.jar文件的ANT目标中包含.jar依赖项?

我是Ant的新手,我在创建build.xml文件时遇到以下问题,该文件处理以下单个类应用程序的.jar文件的创建: import java.sql.*; import java.util.TimeZone; public class Main { public static void main(String[] args) { System.out.println(“Hello World !!!”); System.out.println(args.length); if(args.length != 0) { String partitaIVA = args[0]; String nomePDF = args[1]; } Connection conn = null; Statement stmt = null; try { Class.forName (“oracle.jdbc.OracleDriver”); TimeZone timeZone = TimeZone.getTimeZone(“Etc/GMT+2”); TimeZone.setDefault(timeZone); // Step 1: Allocate a database […]

Java Web服务中的Singleton对象

早上好,我正在开发一个公开Web服务接口的java Web应用程序。 为了将全局对象保留在内存中,我将以下类用作Singleton: public class SingletonMap { private static final SingletonMap instance = new SingletonMap(); private static HashMap couponMap = null; private static long creationTime; private SingletonMap() { creationTime = System.currentTimeMillis(); couponMap = new HashMap(); } public static synchronized SingletonMap getInstance() { return instance; } public static long getCreationTime() { return creationTime; } } 我正在使用上面的类,以便为Web服务的所有线程提供相同的HashMap实例。 […]