<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Java</id>
	<title>Java - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Java"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Java&amp;action=history"/>
	<updated>2026-05-06T14:02:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=Java&amp;diff=4806&amp;oldid=prev</id>
		<title>Kenneth: /* Read Console */</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Java&amp;diff=4806&amp;oldid=prev"/>
		<updated>2018-07-03T05:17:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Read Console&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Java ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;quot;Java is a programming language originally developed by Sun Microsystems and released in 1995 as a core component of Sun Microsystems&amp;#039; Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;The original and reference implementation Java compilers, virtual machines, and class libraries were developed by Sun from 1995. As of May 2007, in compliance with the specifications of the Java Community Process, Sun made available most of their Java technologies as free software under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java and GNU Classpath.&amp;quot;&amp;#039;&amp;#039; [http://en.wikipedia.org/wiki/Java_programming_language]&lt;br /&gt;
&lt;br /&gt;
== Subpage Table of Contents ==&lt;br /&gt;
&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
== Browser Plugin Version Check ==&lt;br /&gt;
&lt;br /&gt;
Verify Java Browser Plugin Version - http://www.java.com/en/download/installed.jsp&lt;br /&gt;
&lt;br /&gt;
== Duke - Mascot ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;img src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/4/41/Duke_Wave.png&amp;quot; height=&amp;quot;200&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hello World ==&lt;br /&gt;
&lt;br /&gt;
Hello.java:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public class Hello {&lt;br /&gt;
	public static void main(String args[]) {&lt;br /&gt;
		System.out.println(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile and execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 javac Hello.java&lt;br /&gt;
 java Hello&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: If your file has a &amp;quot;public&amp;quot; class, file name should match the public class name, or you will get this error:&lt;br /&gt;
 HelloWorld.java:3: error: class Hello is public, should be declared in a file named Hello.java&lt;br /&gt;
&lt;br /&gt;
=== Hello World Package Version ===&lt;br /&gt;
&lt;br /&gt;
Package version:&lt;br /&gt;
&lt;br /&gt;
World/Hello.java&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package World;&lt;br /&gt;
&lt;br /&gt;
public class Hello {&lt;br /&gt;
	public static void main(String args[]) {&lt;br /&gt;
		System.out.println(&amp;quot;Hello World!\n&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compile and execute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 javac World/Hello.java&lt;br /&gt;
 java World.Hello&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Execution Commands ==&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
 java -cp [classpath] [package]\[class].java&lt;br /&gt;
 java -cp . test.java&lt;br /&gt;
&lt;br /&gt;
Execute:&lt;br /&gt;
 java -cp [classpath] [package].[class]&lt;br /&gt;
 java -cp . test&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
*[http://www.javacoffeebreak.com/java101/java101.html Java Coffee Break: Java 101 : Hello World]&lt;br /&gt;
&lt;br /&gt;
== Jar ==&lt;br /&gt;
&lt;br /&gt;
Build jar:&lt;br /&gt;
 jar cf jar-file input-files&lt;br /&gt;
 jar cvf [NAME].jar [file.class] [folder] ...&lt;br /&gt;
 jar cvf Hi.jar Hello.class&lt;br /&gt;
&lt;br /&gt;
Execute a jar:&lt;br /&gt;
 java -classpath Program.jar MyMainClass&lt;br /&gt;
&lt;br /&gt;
Auto start main class using a manifest [http://stackoverflow.com/questions/2591516/why-its-failed-to-load-main-class-manifest-attribute-from-jar-file] [http://download.oracle.com/javase/tutorial/deployment/jar/appman.html]&lt;br /&gt;
&lt;br /&gt;
Build with manifeset:&lt;br /&gt;
 jar cfm app.jar manifest.txt *.class&lt;br /&gt;
&lt;br /&gt;
manifest.txt:&lt;br /&gt;
 Main-Class: MyMainClass&lt;br /&gt;
&lt;br /&gt;
Execute:&lt;br /&gt;
 java -jar app.jar&lt;br /&gt;
&lt;br /&gt;
== Compile ==&lt;br /&gt;
&lt;br /&gt;
Layout:&lt;br /&gt;
 \doc&lt;br /&gt;
 \bin&lt;br /&gt;
 \lib&lt;br /&gt;
 \src&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
 set PATH=%PATH%;&amp;quot;c:\Program Files\Java\jdk1.7.0_17\bin&amp;quot;&lt;br /&gt;
 C:\dev\risk\riskGamePlayer&amp;gt;  javac  -cp lib\gson-2.2.2.jar  -sourcepath src  -d bin  src\Main.java&lt;br /&gt;
&lt;br /&gt;
Execute:&lt;br /&gt;
 set PATH=%PATH%;&amp;quot;c:\Program Files\Java\jdk1.7.0_17\bin&amp;quot;&lt;br /&gt;
 C:\dev\risk\riskGamePlayer&amp;gt;  java   -cp lib\gson-2.2.2.jar;bin  Main&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Java SE JDK&lt;br /&gt;
 sh jdk-6u25-linux-x64-rpm.bin&lt;br /&gt;
&lt;br /&gt;
Installed to:&lt;br /&gt;
 /usr/java/jdk1.6.0_25&lt;br /&gt;
&lt;br /&gt;
Path:&lt;br /&gt;
 export PATH=/usr/java/jdk1.6.0_25/bin:$PATH&lt;br /&gt;
&lt;br /&gt;
== Alternative ==&lt;br /&gt;
&lt;br /&gt;
 rpm -Uvh /path/to/binary/jdk-7u55-linux-x64.rpm&lt;br /&gt;
&lt;br /&gt;
 alternatives --install /usr/bin/java java /usr/java/latest/jre/bin/java 200000&lt;br /&gt;
&lt;br /&gt;
 /usr/sbin/alternatives --display java&lt;br /&gt;
&lt;br /&gt;
 /usr/sbin/alternatives --config java&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* How to Install Java 7 (JDK 7u55) on CentOS/RHEL 6/5 &amp;amp; Fedora - http://tecadmin.net/steps-to-install-java-on-centos-5-6-or-rhel-5-6/#&lt;br /&gt;
* Install Oracle Java JDK/JRE 7u55 on Fedora 20/19, CentOS/RHEL 6.5/5.10 - http://www.if-not-true-then-false.com/2010/install-sun-oracle-java-jdk-jre-7-on-fedora-centos-red-hat-rhel/&lt;br /&gt;
* Appendix A. Installing a Java Development Kit on Red Hat Enterprise Linux - https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_SOA_Platform/4.3/html/Getting_Started_Guide/appe-install_jdk_rhel.html&lt;br /&gt;
&lt;br /&gt;
== Editors ==&lt;br /&gt;
&lt;br /&gt;
*[http://www.eclipse.org/ Eclipse]&lt;br /&gt;
&lt;br /&gt;
*[http://www.jetbrains.com/idea/ IntelliJ IDEA]&lt;br /&gt;
&lt;br /&gt;
*[http://www.jedit.org/ jEdit]&lt;br /&gt;
&lt;br /&gt;
*[http://www.netbeans.info/ NetBeans IDE]&lt;br /&gt;
*[http://www.netbeans.info/downloads/index.php NetBeans IDE Download]&lt;br /&gt;
** NetBeans Hello World : [http://java.sun.com/docs/books/tutorial/getStarted/cupojava/netbeans.html &amp;quot;Hello World!&amp;quot; for the &lt;br /&gt;
NetBeans IDE (The Java™ Tutorials &amp;gt; Getting Started &amp;gt; The &amp;quot;Hello World!&amp;quot; Application)]&lt;br /&gt;
&lt;br /&gt;
== Code ==&lt;br /&gt;
&lt;br /&gt;
=== Comments ===&lt;br /&gt;
&lt;br /&gt;
The Java programming language supports three kinds of comments: [http://java.sun.com/docs/books/tutorial/getStarted/application/index.html]&lt;br /&gt;
&lt;br /&gt;
 /* text */&lt;br /&gt;
:The compiler ignores everything from /* to */.&lt;br /&gt;
&lt;br /&gt;
 /** documentation */&lt;br /&gt;
:This indicates a documentation comment (doc comment, for short). The compiler ignores this kind of comment, just like it ignores comments that use /* and */. The javadoc tool uses doc comments when preparing automatically generated documentation. For more information on javadoc, see the JavadocTM tool documentation .&lt;br /&gt;
&lt;br /&gt;
 // text&lt;br /&gt;
:The compiler ignores everything from // to the end of the line.&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
&lt;br /&gt;
 import java.util.*;	// Data structures (Collections), time, Scanner, etc classes.&lt;br /&gt;
 import java.io.*;	// Input-output classes.&lt;br /&gt;
&lt;br /&gt;
=== Print ===&lt;br /&gt;
&lt;br /&gt;
 System.out.print(&amp;quot;Hello World&amp;quot;);        // does not include new line&lt;br /&gt;
 System.out.println(&amp;quot;Hello World&amp;quot;);      // includes new line&lt;br /&gt;
 System.out.format(&amp;quot;Hello %s\n&amp;quot;, name);  // format output with format parameters&lt;br /&gt;
&lt;br /&gt;
=== String ===&lt;br /&gt;
&lt;br /&gt;
 System.out.println(&amp;quot;Hello World&amp;quot;);&lt;br /&gt;
 System.out.println(&amp;quot;Hello &amp;quot; + &amp;quot;World&amp;quot;);&lt;br /&gt;
 String message = &amp;quot;Hello World&amp;quot;;&lt;br /&gt;
 System.out.println(&amp;quot;Message: &amp;quot; + message);&lt;br /&gt;
&lt;br /&gt;
=== For Each ===&lt;br /&gt;
&lt;br /&gt;
 for (String arg: args) {  System.out.format(&amp;quot;Arg: %s&amp;quot;, arg); }&lt;br /&gt;
&lt;br /&gt;
=== Exit ===&lt;br /&gt;
&lt;br /&gt;
 System.exit(0);  // return code of 0&lt;br /&gt;
 System.exit(1);  // return code of 1&lt;br /&gt;
&lt;br /&gt;
=== Command Line Arguments ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Programmed by Kenneth Burgener &amp;lt;kenneth@kennethburgener.org&amp;gt; (2012)&lt;br /&gt;
public class ArgList {&lt;br /&gt;
        public static void main(String args[]) {&lt;br /&gt;
                String className = ArgList.class.getName();&lt;br /&gt;
                System.out.format(&amp;quot;Program: %s\n&amp;quot;, className);&lt;br /&gt;
                System.out.format(&amp;quot;Arg Count: %d\n&amp;quot;, args.length);&lt;br /&gt;
                if(args.length &amp;lt; 1) {&lt;br /&gt;
                        System.out.println(&amp;quot;No Arguments&amp;quot;);&lt;br /&gt;
                }&lt;br /&gt;
                for (String arg: args) {&lt;br /&gt;
                        System.out.format(&amp;quot;Arg: %s\n&amp;quot;, arg);&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* $0 (Program Name) in Java? Discover main class? - Stack Overflow - http://stackoverflow.com/questions/41894/0-program-name-in-java-discover-main-class&lt;br /&gt;
* Command-Line Arguments (The Java™ Tutorials &amp;gt; Essential Classes &amp;gt; The Platform Environment) - http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html&lt;br /&gt;
&lt;br /&gt;
=== Try Catch ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
try {&lt;br /&gt;
...&lt;br /&gt;
} catch (ExceptionType name) {&lt;br /&gt;
...&lt;br /&gt;
} catch (ExceptionType|ExceptionType name) {&lt;br /&gt;
...&lt;br /&gt;
} finally {&lt;br /&gt;
...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
try {&lt;br /&gt;
    firstArg = Integer.parseInt(args[0]);&lt;br /&gt;
} catch (NumberFormatException ex) {&lt;br /&gt;
    System.err.println(&amp;quot;Argument&amp;quot; + &amp;quot; must be an integer&amp;quot;);&lt;br /&gt;
    System.exit(1);&lt;br /&gt;
    //logger.log(ex);&lt;br /&gt;
    //throw ex;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== System.out.print ===&lt;br /&gt;
&lt;br /&gt;
 System.out.println(&amp;quot;enter an integer: &amp;quot;);&lt;br /&gt;
 System.out.print(&amp;quot;enter an integer: \n&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public void sayHello(String message) {&lt;br /&gt;
    System.out.println(message);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== System.in.read ===&lt;br /&gt;
&lt;br /&gt;
 BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in));&lt;br /&gt;
 String line=buffer.readLine();&lt;br /&gt;
&lt;br /&gt;
 Scanner scan=new Scanner(System.in);&lt;br /&gt;
&lt;br /&gt;
ReadingLine class: http://terokarvinen.com/readline_in_java.html&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
class ReadingLine{&lt;br /&gt;
	public static String readLine()&lt;br /&gt;
	{&lt;br /&gt;
		String s = &amp;quot;&amp;quot;;&lt;br /&gt;
		try {&lt;br /&gt;
			InputStreamReader converter = new InputStreamReader(System.in);&lt;br /&gt;
			BufferedReader in = new BufferedReader(converter);&lt;br /&gt;
			s = in.readLine();&lt;br /&gt;
		} catch (Exception e) {&lt;br /&gt;
			System.out.println(&amp;quot;Error! Exception: &amp;quot;+e); &lt;br /&gt;
		}&lt;br /&gt;
		return s;&lt;br /&gt;
	}&lt;br /&gt;
	public static void main(String[] args)&lt;br /&gt;
	{&lt;br /&gt;
		System.out.print(&amp;quot;Hello, what&amp;#039;s your name? &amp;quot;);&lt;br /&gt;
		String name=readLine();&lt;br /&gt;
		System.out.println(&amp;quot;Hello &amp;quot;+name+&amp;quot;!&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Advanced Code ==&lt;br /&gt;
&lt;br /&gt;
=== Reflection ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Object methodCaller(Object theObject, String methodName) {&lt;br /&gt;
    try {&lt;br /&gt;
        return theObject.getClass().getMethod(methodName).invoke(theObject);&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
        System.err.println(&amp;quot;Exception caught: &amp;quot; + e);&lt;br /&gt;
        System.exit(1);&lt;br /&gt;
    }&lt;br /&gt;
    return null;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// use it&lt;br /&gt;
String theDescription = methodCaller(object1, &amp;quot;toString&amp;quot;);&lt;br /&gt;
Class theClass = methodCaller(object2, &amp;quot;getClass&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
My example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public class Test {&lt;br /&gt;
	public static void main(String args[]) {&lt;br /&gt;
		Test test = new Test();&lt;br /&gt;
		test.methodCaller(test, &amp;quot;callme&amp;quot;, &amp;quot;test&amp;quot;, 1);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	public void callme(String message, int number) {&lt;br /&gt;
		System.out.println(&amp;quot;Message: &amp;quot; + message);&lt;br /&gt;
		System.out.println(&amp;quot;Number: &amp;quot; + number);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	Object methodCaller(Object theObject, String methodName, String message, int number) {&lt;br /&gt;
    		try {&lt;br /&gt;
        		return theObject.getClass().getMethod(methodName, &lt;br /&gt;
        			String.class, Integer.TYPE).invoke(theObject, message, number);&lt;br /&gt;
    		} catch (Exception e) {&lt;br /&gt;
        		System.err.println(&amp;quot;Exception caught: &amp;quot; + e);&lt;br /&gt;
        		System.exit(1);&lt;br /&gt;
    		}&lt;br /&gt;
    		return null;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* Function Pointers in Java - Stack Overflow - http://stackoverflow.com/questions/1073358/function-pointers-in-java&lt;br /&gt;
* reflection - How do I invoke a Java method when given the method name as a string? - Stack Overflow - http://stackoverflow.com/questions/160970/how-do-i-invoke-a-java-method-when-given-the-method-name-as-a-string&lt;br /&gt;
* reflection - Does int.class equal Integer.class or Integer.TYPE in Java? - Stack Overflow - http://stackoverflow.com/questions/7082997/does-int-class-equal-integer-class-or-integer-type-in-java&lt;br /&gt;
&lt;br /&gt;
=== Callback Method ===&lt;br /&gt;
&lt;br /&gt;
Callback functions in Java - Stack Overflow - http://stackoverflow.com/questions/443708/callback-functions-in-java&lt;br /&gt;
&lt;br /&gt;
=== Pass a function as an argument ===&lt;br /&gt;
&lt;br /&gt;
A common pattern would be to &amp;#039;wrap&amp;#039; it within an interface, like Callable, for example, then you pass in a Callable:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
public T myMethod(Callable&amp;lt;T&amp;gt; func) {&lt;br /&gt;
    return func.call();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This pattern is known as the [http://en.wikipedia.org/wiki/Command_pattern Command Pattern].&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
You could use Java reflection to do this. The method would be represented as an instance of java.lang.reflect.Method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
&lt;br /&gt;
public class Demo {&lt;br /&gt;
&lt;br /&gt;
    public static void main(String[] args) throws Exception{&lt;br /&gt;
        Class[] parameterTypes = new Class[1];&lt;br /&gt;
        parameterTypes[0] = String.class;&lt;br /&gt;
        Method method1 = Demo.class.getMethod(&amp;quot;method1&amp;quot;, parameterTypes);&lt;br /&gt;
&lt;br /&gt;
        Demo demo = new Demo();&lt;br /&gt;
        demo.method2(demo, method1, &amp;quot;Hello World&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void method1(String message) {&lt;br /&gt;
        System.out.println(message);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public void method2(Object object, Method method, String message) throws Exception {&lt;br /&gt;
        Object[] parameters = new Object[1];&lt;br /&gt;
        parameters[0] = message;&lt;br /&gt;
        method.invoke(object, parameters);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* How to pass a function as a parameter in Java? - Stack Overflow - http://stackoverflow.com/questions/4685563/how-to-pass-a-function-as-a-parameter-in-java&lt;br /&gt;
&lt;br /&gt;
== CLI JUnit ==&lt;br /&gt;
&lt;br /&gt;
Command Line Interface (CLI) JUnit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Program: myTestSuite2.java&lt;br /&gt;
&lt;br /&gt;
import junit.framework.*;&lt;br /&gt;
&lt;br /&gt;
public class myTestSuite extends TestCase {&lt;br /&gt;
&lt;br /&gt;
	public static Test suite() {&lt;br /&gt;
		TestSuite suite = new TestSuite();&lt;br /&gt;
		&lt;br /&gt;
		// TEST SUITES&lt;br /&gt;
		suite.addTest(myTestSuite2.suite());&lt;br /&gt;
		&lt;br /&gt;
		// TEST CASES&lt;br /&gt;
		suite.addSuite(myTestCase.class);&lt;br /&gt;
		&lt;br /&gt;
		return suite;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		try {&lt;br /&gt;
			Test test = suite();&lt;br /&gt;
			junit.text.ui.TestRunner.run(test);&lt;br /&gt;
		} catch (Exception ex) {&lt;br /&gt;
			ex.printStackTrace();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// myTestCase&lt;br /&gt;
import junit.framework.TestCase;&lt;br /&gt;
public class myTestCase extends TestCase {&lt;br /&gt;
	public void testMyTest() {&lt;br /&gt;
		// assert ...&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# javac -cp ./:./junit.jar myTestSuite.java&lt;br /&gt;
# java -cp ./:./junit.jar myTestSuite&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Read Password ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
private String readLine(String format, Object... args) throws IOException {&lt;br /&gt;
    if (System.console() != null) {&lt;br /&gt;
        return System.console().readLine(format, args);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.print(String.format(format, args));&lt;br /&gt;
    BufferedReader reader = new BufferedReader(new InputStreamReader(&lt;br /&gt;
            System.in));&lt;br /&gt;
    return reader.readLine();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
private char[] readPassword(String format, Object... args)&lt;br /&gt;
        throws IOException {&lt;br /&gt;
    if (System.console() != null)&lt;br /&gt;
        return System.console().readPassword(format, args);&lt;br /&gt;
    return this.readLine(format, args).toCharArray();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
source: java - System.console() returns null - Stack Overflow - http://stackoverflow.com/questions/4203646/system-console-returns-null&lt;br /&gt;
&lt;br /&gt;
=== Read Console ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import java.util.Scanner;&lt;br /&gt;
&lt;br /&gt;
Scanner in;&lt;br /&gt;
in = new Scanner(System.in);&lt;br /&gt;
String s = in.nextLine();&lt;br /&gt;
in.close();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This works in Eclipse too, where System.console() won&amp;#039;t.&lt;br /&gt;
&lt;br /&gt;
== List Classes in JAR ==&lt;br /&gt;
&lt;br /&gt;
You can use Java jar tool. List the content of jar file in a txt file and you can see all the classes in the jar. [https://stackoverflow.com/questions/15720822/how-to-get-names-of-classes-inside-a-jar-file]&lt;br /&gt;
&lt;br /&gt;
 jar tvf jarfile.jar&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>