java.ioパッケージ
java.lang / java.utilパッケージコメント
(ショートカットキーcommand+option+sを再定義)
//arraylistはよく使われ、hashmapはたまに使われ、残りはほとんど使われません
I/Oとは?
1.フロー
=フロー、パイプ、接続(一方向)
出力ストリーム:java app->ディスプレイ
Object[] list = new Object[3];
を選択します.2.inputstream,reader=入力クラス
(Aが「->16ビットchar->inputstream」と読み取った場合、すべて破壊されます)
3.outputstream,writer=出力ストリーム
//画像・ビデオファイル共有サイトJava開発を使用しない
なし->文字入力/出力(reader、writer)に集中
4. buffered
標準I/O
標準出力=コンソール
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
public class IOTest1 {
public static void main(String[] args) {
InputStream input = System.in;
PrintStream output = System.out;
// 다른 참조변수에 복사하여 사용 (가독성)
System.out.println("메시지를 입력하세요.");
// = output.println (코드짜는사람 마음)
try {
int data = 0;
while((data = input.read()) != -1 ) {
// input.read() = System.in.read() (코드 짜는 사람 마음)
output.println(data);
// output.println = system.out.println
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
input.close();
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("프로그램 종료");
}
}
1. system.out.print()
public static final InputStream in = null;
public static final PrintStream out = null;
->参照変数nullで初期化->の下部に作成および割り当て(作成されたオブジェクトを知る必要はありません)
input,inは2つのオブジェクトを参照します(通常)
2.他の参照変数にコピーして使用
2. close
I/Oフローをオフにする必要があります
3. throws
//throwsでは例外処理ハンドルはサポートされていませんが、I/O例
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
public class IOTest1 {
public static void main(String[] args) throws IOException {
System.out.println("메시지를 입력하세요.");
int data = 0;
while((data = System.in.read()) != -1 ) {
System.out.print(data);
}
System.in.close();
System.out.close();
System.out.println("프로그램 종료");
}
}
4.形状変換
InputStream input = System.in;
int data = 0;
while ((data = input.read()) != -1) {
output.print(data);
}
デフォルトのデータ型の暗黙的な変換(小->大)
InputStream input = System.in;
int data = 0;
while ((data = input.read()) != -1) {
output.print((char) data);
}
->InputStreamではなくリーダー(2バイト単位)を使用し、ハングルを破壊しません
ファイルI/O
ip apiがファイルI/Oに存在しても過言ではない
fileinputstreamは書き込む必要はありません(1バイトの読み取り中断-画像、ビデオ)
filereader
iotest3
(new, file)
iotest4
buffered=フィルタ(実行する必要がなく、より高速)
./src/IOTest4.JAva=私
currentTimeMillis()
たまに
静的メソッド(新しいオブジェクトを作成する必要がなく->クラス内のオブジェクトメモリを使用できます.私は1つのメソッドしか使用しません)
メソッド呼び出しの時間情報をlongタイプに復元
野戦環の前後の時間を求め、野戦環の運転に要する時間を確定する.
bufferの貼り付け=データを一度に解放し、I/O->を高速化
=>10秒から6秒(ファイルが大きい場合は大きな差)
=>これをフィルタフローと呼ぶ
BufferedReader buffReader = new BufferedReader(reader);
作成者メソッドのパラメータはオブジェクトです
BufferedReaderのパラメータタイプreader->最上位->任意のパラメータとして使用可能(アップリンク)
BufferedReaderはreaderをメンバー変数として指定します(作成者によって実行されます).
BufferedReader buffReader = new BufferedReader(new FileReader("./src/IOTest4.java"))
オブジェクトはパラメータ
reader変数を宣言する必要がなく、メモリを節約できることを示します.
可読性の面では、変数を宣言することが望ましい(2行1行を推奨)
バッファリーダメソッドのthis
別のコンストラクション関数(親)を呼び出します(パラメータとして受信する方法、たとえばインデックス、デバッガとして)、superは親メソッドを呼び出します.
スピードを上げる
iotest6
FileOutputStream
出力したいデータへの接続(バイト単位)
数字、並べ替え可能、文字は
data.txtファイルを削除した後
実行時にファイルを作成する->整数データを出力し、ハングルを出力しません
韓国語の破壊を避けるためにfilewriter(iotest 7)を使用する
FileInputStream input =
new BufferedInputStream();
パラメータはFileInputStreamでなければなりません
printStream
system.out.print(標準出力)
総合的に書き終わりました.
行で検索可能(カンマで区切られた)
->文字列タイプに割り当てられた変数(データ)
//バッファリーダを使用しない場合は、
//iotest 4変形スナップショット
1.2バイトスピードも速い行単位で読み取り可能
null return 3
スナップショットスキャナテスト(無限ループ故意回転)
バッファカードリーダーとカードリーダーは面倒なので、スキャンクラス(import java.util.Scanner)を提供します.
->キーボード(ファイルではない)から入力したデータ線を読み込むことができます
//ではなくnew fileinputstream(「test.txt」)を選択した場合
ロー別読み出しストリーム
数字と文字が入力される場合があります.
学習I/Oが必要
Webの場合はブラウザに入力してください
入力
1 aをintに変更したいです.
->例外スナップショットの処理
throwsまたはtry~catch
Reference
この問題について(java.ioパッケージ), 我々は、より多くの情報をここで見つけました https://velog.io/@kangnang/java.io-패키지テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol