Java基礎プロジェクトインスタンス4 APIとIOストリームのいくつかのテスト
プロジェクトインスタンス4一、前置知識 二、前置知識の運用例 三、IOフロー前置知識 四、IOフロー例 一、前置き知識 Stringクラス:作成後は変更できません.共有できます.(文字、英語などの文字列(オブジェクト)を処理します.)charタイプ は推奨されません. StringBufferクラス:作成後、シーケンスとコンテンツを変更でき、任意のデータを文字列タイプに変換して格納できます.(文字列バッファ).追加、削除、検索などの関連メソッドが多数あります.【原理:内部データ配列方式格納–レプリケーション延長】(省略) Runtimeクラス:JavaアプリケーションごとにRuntimeクラスインスタンスがあり、アプリケーションが実行する環境に接続できるようにします.public Process exec(String command):個別のプロセスで指定した文字列コマンドを実行します.たとえば、手帳を開きます. Runtimeクラスを使用する乱数:Click on meを生成する. パッケージクラス:8つの基本データ型はクラスではなく、使用時に直接値を付与するだけです.したがって,この8つの基本データ型に対応する方法と変数を持たせるためにJavaはパッケージクラスを提供する. intとintegerの違い:基本データ型とそのパッケージクラスの違いです. intは基本タイプで、直接数値を格納し、integerはオブジェクトであり、このオブジェクト を参照で指す.つまりJavaでいうデータ型は、基本データ型と参照データ型に分けられます. クラスの初期化時:intクラスの変数は初期0、Integerの変数はnullに初期化する. 例を挙げると、ArrayList,HashMapに物を置く必要がある場合、int,doubleのような内蔵タイプは入れられません.容器はobjectに入っているので、これらの内蔵タイプのオーバーライドクラスが必要です. すべてのパッケージクラス(Integer、Long、Byte、Double、Float、Short)は抽象クラスNumberのサブクラスである. Javaのprintfの使い方はC言語と似ていて、フォーマットは少し違います: 書式設定
出力フォーマット
%c
単一文字
%d
じっしんせいすう
%f
じっしん浮動小数点数
%o
8進数
%s
文字列
%u
符号なし10進数
%x
16進数
%%
パーセントを出力
二、前置知識の運用例前置知識の運用例 三、IOフローの前置知識 BufferedReaderを使用してコンソールで文字 を読み込む InputStreamReaderは、バイトフローを文字フローに変換するバイトフローの橋渡しである.OutputStreamWriterとは逆です.両者のパラメータは符号化を指定することができ、デフォルトはオペレーティングシステムのデフォルト符号化であり、windowsではgbkである. new InputStreamReader(System.in);//コンソール にバインド FileOutputStream os = FileOutputStream(“test.txt”);//実体化ファイル出力ストリーム パイプフロー PipedInputStreamとPipeOutputStream:入出力は直接接続でき、スレッドに合わせて使用できます. ByteArrayInputStreamおよびByteArrayOutputStream:対応するデバイスがメモリのストリームオブジェクトであるバイトデータ配列ストリームオブジェクトを操作します.(注:配列(バッファ)を定義する必要はありません.配列バッファを1つ持参します.) CharArrayInputStreamおよびCharArrayOnputStream:対応するデバイスがメモリのストリームオブジェクトである文字データ配列ストリームオブジェクトを操作します.(釈:テキストファイルデータを文字配列バッファに読み出し、文字配列バッファからデータを読み出す.) SequenceInputStream:ファイル数、オブジェクト(フラグメント)が多すぎると呼び出しが多すぎて効率が低下するため、ストリームオブジェクトと(フラグメント)ファイルを関連付けてコンテナに格納し、コンテナを巡ってストリームオブジェクトと読み書き操作を取得する必要がある. その他: class MyException extends Exception{}:カスタム例外クラス.//Exception から継承 InputStream、OutputStream、Reader、Writerは抽象クラスで、直接newすることはできません. バイトストリーム、文字ストリームの両方は、InputStreamReader、OutputStreamWriterによって関連付けられ、実際にはbyte[]とStringによって関連付けられます.
四、IOフローの例 コードにより指定ファイルディレクトリを巡回操作 .
End.
出力フォーマット
%c
単一文字
%d
じっしんせいすう
%f
じっしん浮動小数点数
%o
8進数
%s
文字列
%u
符号なし10進数
%x
16進数
%%
パーセントを出力
二、前置知識の運用例
package cn.itcast.test3;
/**
*@Title Javatest4.java
*@description Java API , ,
*@time 2020-4-18 3:58:40
*@author
*@version 1.0
**/
import java.io.IOException;
import java.lang.Math; // 。long , 。
import java.text.SimpleDateFormat; //SimpleDateFormat
import java.util.Calendar; //
//import java.util.Random; //
import java.util.Date; // 。
public class Javatest4 {
public static void main(String[] args) throws IOException {
System.out.println("---------- --Runtime-----------");
Runtime r = Runtime.getRuntime();
//Runtime : Java Runtime , 。
//public Process exec(String command): 。 :
r.exec("notepad"); //
//r.exec("notepad.exe c:\\ .txt"); // .txt ,
//r.exec("calc"); //
//r.exec("mspaint"); //
//r.exec("shutdown -s -t 10000"); //
//r.exec("shutdown -a"); //
String o=" "; // :
// int len = o.length();
System.out.println( " : " + o.length() );
System.out.printf("%s
",o);
System.out.println("---------- -- -----------");
Integer a = 12321;
String b = a.toString(); // : toString , 。
String i=new String();
b=i;
System.out.println("b :"+b);
System.out.println("---------- --Date 1-----------");
Date date = new Date(); // Date
System.out.println(date.toString()); // toString()
System.out.println("---------- --Date 2-----------");
long time = System.currentTimeMillis(); //
System.out.println(time); //
System.out.println(new Date(0));
System.out.println("---------- --Date 3-----------");
Calendar calendar= Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd::HH:mm:ss");
System.out.println(sdf.format(calendar.getTime()));
System.out.println("---------- --Date 4-----------");
Date date2 = new Date();
String strDateFormat = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf1 = new SimpleDateFormat(strDateFormat);
System.out.println(sdf1.format(date2));
System.out.println("---------- --Math-----------");
System.out.println("0 :" + Math.cos(0));
System.out.println("1 :" + Math.atan(1));
System.out.println("E :" + Math.E); // e: ) π:
System.out.println("PI :" + Math.PI); //Math: , 、 、
}
}
四、IOフローの例
。
import java.io.File;
public class Exam07 {
public static void main(String[] args) {
//
File dir = new File("D:");
String[] names = dir.list();
for(String name : names){
// System.out.println(name);
}
// :
File[] files = dir.listFiles(); //
for(File file : files){
System.out.println(file.getName());
}
// :
File dir1 = new File("D:\\ "); // 。
// , , , 。
boolean b1 = dir1.mkdirs(); //
System.out.println("b1="+b1);
}
}
End.