Javaのコンソールから情報を読み、後で確認する方法をいくつか紹介します。
(1)JDK 1.4(JDK 1.5およびJDK 1.6もこの方法と互換性があります)
public class testConsole1 {public static void main(string [] args){string str = readdatafromconsole( "入力string :); system.out.println("コンソールからの情報: + str); } / ** * inputStreamReaderとsystem.inを使用してコンソールからデータを読み取る * * @param prompt * * @return input string * / private static string readdatafromconsole(string prompt){bufferedreader br = new inputstreamreader(system.in));文字列str = null; try {System.out.print(prompt); str = br.readline(); } catch(ioexception e){e.printstacktrace(); } return str; }}(2)JDK 1.5(スキャナーで読む)
public class testconsole2 {public static void main(string [] args){string str = readdatafromconsole( "入力string:"); System.out.println( "コンソールからの情報:" + str); } / ** * java.util.scannerを使用してコンソールからデータを読み取ります * * @param prosp * * @return input string * / private static string readdatafromconsole(string prompt){scanner scanner = new scanner(system.in); System.out.print(prompt); return scanner.nextline(); }}スキャナーは、ファイルを簡単にスキャンしたり、内部の情報を読み取り、必要なタイプに変換することもできます。たとえば、「2 2.2 3.3 3.334.5が完了」などのデータを合計して、次のコードを参照してください。
public class testconsole4 {public static void main(string [] args)throws ioexception {filewriter fw = new filewriter( "num.txt"); fw.write( "2 2.2 3.3 3.33 4.5 done"); fw.close(); system.out.println( "sum is"+scanfileforsum( "num.txt")); } public static double scanfileforsum(string filename)throws ioexception {double sum = 0.0; filreader fr = null; try {fr = new fileReader(filename);スキャナースキャナー=新しいスキャナー(FR); while(scanner.hasnext()){if(scanner.hasnextDouble()){sum = sum + scanner.nextdouble(); } else {string str = scanner.next(); if(str.equals( "done")){break; } else {throw new runtimeException( "ファイル形式は間違っています!"); }}}} catch(filenotfoundexception e){throw new runtimeException( "file" + filename + "not in not in vund!"); }最後に{if(fr!= null)fr.close(); } return sum; }}(3)JDK 1.6(読書にはjava.io.consoleを使用)
JDK6は、文字ベースのコンソールデバイスにアクセスするために特にjava.io.consoleクラスを提供します。
プログラムがWindowsまたはLinuxの下でターミナルの下でCMDと対話したい場合は、コンソールクラスを使用してそれを行うことができます。 (system.inおよびsystem.outに似ています)
しかし、JVMが利用可能なコンソールを持っているかどうかは、基礎となるプラットフォームとJVMの呼び出しに依存するかどうか、利用可能なコンソールを常に取得するとは限りません。
JVMがインタラクティブコマンドライン(Windows CMDなど)で開始され、入力と出力が別の場所にリダイレクトされない場合は、利用可能なコンソールインスタンスを取得できます。
IDEを使用する場合、コンソールインスタンスを取得できません。 IDE環境では、標準の入力と出力ストリームがリダイレクトされているためです。つまり、システムコンソールの入力と出力がIDEコンソールにリダイレクトされることを意味します。
public class testConsole3 {public static void main(string [] args){string str = readdatafromconsole( "入力string:"); System.out.println( "コンソールからの情報:" + str); } / ** * java.io.consoleを使用してコンソールからデータを読み取ります * * @param prompt * * @return input string * / private static string readdatafromconsole(string prompt){console console = system.console(); if(console == null){新しいIllegalStateException( "コンソールは使用できません!"); } return Console.readline(prompt); }}コンソールクラスのもう1つの機能は、パスワードなどのセキュリティ文字を特別に処理することです(エコー入力なし)。特にreadPassword()メソッドを提供します。特定のアプリケーションについては、次のコードを参照してください。
public class testconsole5 {public static void main(string [] args){console console = system.console(); if(console == null){新しいIllegalStateException( "コンソールは使用できません!"); } while(true){string username = console.readline( "username:"); char [] password = console.readpassword( "password:"); if(username.equals( "chris")&& string.valueof(password).equals( "gohead")){console.printf( "welcome to java application%1 $ s。/n"、username); //使用後すぐに配列をクリアする必要があります。 System.Exit(-1); } else {console.printf( "invalid usernameまたはpassword./n"); }}}}}上記は、エディターによるコンソールからデータを読むいくつかの方法の要約です。私はそれがすべての人に役立ち、wulin.comをもっとサポートすることを願っています〜