プログラミングアーキテクチャ(04):JavaIOストリームファイル管理

この記事のソースコード:GitHub・ここをクリック|| GitEE・ここをクリック

1つは、IOフローの分類です。

1.分類の観点

流れ方向

  • 入力ストリーム:データがデータソースからアプリケーションに読み取られるストリーム。
  • 出力ストリーム:アプリケーションから宛先にデータを書き込むストリーム。

ストリームデータ型

  • バイトストリーム:バイト単位で読み書きされるストリーム。識別子は名前がStreamで終わる名前です。
  • 文字ストリーム:文字の形式で読み書きされるストリーム。識別子は、名前がWriter、Readerで終わることです。
  • パイプラインフロー:データブロックの単位で処理され、バッファーは読み取りと書き込みに使用されるデータブロックです。

流れの役割

  • ノードフロー:ノードとの間でデータの読み取り/書き込みが可能なフロー。低レベルフローとも呼ばれます。
  • 処理フロー:既存のフローを接続またはカプセル化し、カプセル化されたフローの読み取り/書き込み(高レベルフローとも呼ばれます)。

2.APIシステム

5カーネル心クラスObjectOutputStream:ファイル、出力ストリーム、入力ストリーム、ライター、リーダー;

1キーインターフェイス:シリアル化可能。

2、APIの詳細分類

1.バイト入力ストリーム

InputStream:バイト入力ストリームは、すべてのバイト入力ストリームの親クラスであり、すべてのバイト入力ストリームのバイトの読み取りに関連する標準的で基本的なメソッドと簡単な実装を提供します。

FileInputStream:ファイルバイト入力ストリームは、ファイル内のデータをバイト形式でアプリケーションに読み込みます。

BufferedInputStream:バイト入力ストリームをバッファリングし、バッファリング機能を提供し、効率を向上させます。

ByteArrayInputStream:バイト配列入力ストリームは、組み込みのバッファーバイト配列のバイトを読み取るために使用されます。

PipedInputStream:スレッド間の通信には、パイプされたバイト入力ストリームをPipedOutputStreamと組み合わせて使用​​する必要があります。

FilterInputStream:バイト入力ストリームをフィルタリングし、InputStreamメソッドを書き換え、バイト入力処理ストリームの拡張を提供します。

DataInputStream:データバイト入力ストリーム。通常、DataOutputStreamと組み合わせて使用​​されます。

ObjectInputStream:ObjectOutputStreamと組み合わせて使用​​されるオブジェクトバイト入力ストリーム。

2.バイト出力ストリーム

OutputStream:バイト出力ストリーム。InputStreamは同じ機能を持ち、すべてのバイト出力ストリームの標準を提供し、いくつかの基本的な出力バイトメソッドと簡単な実装を定義します。

FileOutputStream:ファイルバイト出力ストリーム。指定された宛先のファイルソースにバイトを書き込みます。

BufferedOutputStream:バイト出力ストリームをバッファリングし、バッファリング機能を提供して効率を向上させます。

ByteArrayOutputStream:バイト配列出力ストリーム。バイトを組み込みのバッファバイト配列に書き込みます。

PipedoutputStreamパイプされたバイト出力ストリーム。スレッド間の通信にはPipedInputStreamと組み合わせて使用​​する必要があります。

FilterOutputStream:バイト出力ストリームをフィルタリングし、バイト出力処理ストリームの拡張を提供します。

DataOutputStream:データバイト出力ストリーム。通常、DataInputStreamと組み合わせて使用​​されます。

ObjectOutputStream:オブジェクトバイト出力ストリーム。通常はObjectInputStreamと組み合わされます。

PrintStream:バイト印刷ストリーム、装飾用のバイト出力ストリーム。さまざまなデータ型を印刷する機能を提供します。

3.文字入力ストリーム

リーダー:文字入力ストリーム。すべての文字入力ストリームの読み取り方法の標準的な、唯一の基本的な定義と簡単な実装を提供します。

InputStreamReader:バイト変換ストリーム。バイトストリームは文字ストリームに変換され、バイトが文字に変換されるときに使用されるエンコーディングを指定できます。

BufferedReader:文字入力ストリームをバッファリングし、文字入力ストリームにバッファリング機能を提供し、効率を向上させます。

CharArrayReader:文字配列入力ストリーム。組み込みの文字バッファー配列内のデータをアプリケーションに読み取ります。

PipedReader:スレッド間の通信のためにPipedWriterと組み合わせて使用​​されるパイプ文字入力ストリーム。

FilterReader:文字入力ストリームをフィルタリングし、文字入力ストリームの拡張機能を提供します。

FileReader:ファイル文字入力ストリーム。ファイルの内容を文字形式で読み取ります。

4.文字出力ストリーム

ライター:文字出力ストリーム。すべての文字出力ストリームは、標準の基本的な書き込み方法と簡単な実装を提供します。

OutputStreamWriter:バイト出力変換ストリーム。バイト出力ストリームを文字出力ストリームに変換するために使用されます。エンコーディング変換を指定できます。

BufferedWriter:文字出力ストリームをバッファリングし、バッファリング機能を提供して効率を向上させます。

CharArrayWriter:組み込みのバッファ文字配列に文字を書き込むために使用される文字出力ストリーム。

PipedWriter:スレッド間の通信のためにPipedReaderと組み合わせて使用​​されるパイプ文字出力ストリーム。

FileWriter:指定されたファイルに文字を書き込むために使用されるファイル文字出力ストリーム。

PrintWriter:文字印刷ストリーム。さまざまなデータを文字形式で印刷します。

3、ファイルファイルクラス

1.工法

File(String pathname):ファイルまたはフォルダーのパスを指定してファイルファイルを作成します。

File(File parent、String child):親抽象パス名と子パス名の文字に基づいて新しいFileインスタンスを作成します。

2.経路問題

絶対パス:ハードディスク上のファイルの絶対パス。絶対パスは通常、ドライブ文字で始まります。

相対パス:相対パスは、現在のプログラムを基準にしたリソースファイルのパスです。

。現在のパス

…上の道

3.ファイルの作成

createNewFile():指定された場所に空のファイルを作成し、成功した場合はtrueを返し、すでに存在する場合は作成せず、falseを返します。

mkdir():指定された場所にディレクトリを作成します。これにより、最後のレベルのディレクトリのみが作成されます。上位レベルのディレクトリが存在しない場合、例外がスローされます。

mkdirs():指定された場所にディレクトリを作成します。これにより、パスに存在しないすべてのディレクトリが作成されます。

4.ファイルを削除します

delete()ファイルまたは空のフォルダーを削除します。フォルダーが空でない場合、削除できません。成功した場合はtrueを返し、失敗した場合はfalseを返します。

5.判定方法

exists():ファイルまたはフォルダーが存在するかどうか。

isFile():ファイルであるかどうかに関係なく、存在しない場合は常にfalseです。

isDirectory():ディレクトリであるかどうかに関係なく、存在しない場合は常にfalseです。

6.ファイル情報を取得します

getName():親パスを除くファイル名またはフォルダー名を取得します。

getPath():絶対パスを返します。これは相対パスにすることができますが、ディレクトリを指定する必要があります

4、エンコードとデコード

バイトストリームはファイル内のバイナリデータを読み取り、それを理解可能な文字に自動的に変換しません。文字ストリーム:読み取られたデータを対応してエンコードおよびデコードします。

5、ソースコードアドレス

GitHub·地址
https://github.com/cicadasmile
GitEE·地址
https://gitee.com/cicadasmile

推奨読書:プログラミングシステムの仕上げ

シリアルナンバー プロジェクト名 GitHubアドレス GitEEアドレス 推奨
01 Javaは、デザインパターン、アルゴリズム、およびデータ構造を記述します GitHub・ここをクリック GitEE・ここをクリック ☆☆☆☆☆
02 Javaの基礎、並行性、オブジェクト指向、Web開発 GitHub・ここをクリック GitEE・ここをクリック ☆☆☆☆
03 SpringCloudマイクロサービスの基本コンポーネントケースの詳細な説明 GitHub・ここをクリック GitEE・ここをクリック ☆☆☆
04 SpringCloudマイクロサービスアーキテクチャの実際の戦闘の包括的なケース GitHub・ここをクリック GitEE・ここをクリック ☆☆☆☆☆
05 SpringBootフレームワークの基本的なアプリケーションから高度なものまで GitHub・ここをクリック GitEE・ここをクリック ☆☆☆☆
06 SpringBootフレームワークは、一般的なミドルウェアを統合および開発します GitHub・ここをクリック GitEE・ここをクリック ☆☆☆☆☆
07 データ管理、配布、アーキテクチャ設計の基本的なケース GitHub・ここをクリック GitEE・ここをクリック ☆☆☆☆☆
08 ビッグデータシリーズ、ストレージ、コンポーネント、コンピューティング、その他のフレームワーク GitHub・ここをクリック GitEE・ここをクリック ☆☆☆☆☆

おすすめ

転載: blog.csdn.net/cicada_smile/article/details/108852559