Javaのファイルストリーム

Javaでのファイルの入出力

ファイルクラス

Fileクラスは、Javaでファイルオブジェクトとディレクトリオブジェクトを表す唯一のデータ型です。

ファイルオブジェクトの作成メソッド(4つのタイプ)
1.ファイル(ファイルディレクトリ、文字列の子)親の抽象パス名と子パス名の文字列に基づいて新しいファイルインスタンスを作成します。
*** 2. File(String pathName)指定されたパス名文字列を抽象パス名に変換することにより、新しいFileインスタンスを作成します。(最も使用されます)
3.File(String parent、String child)親パス名文字列と子パス名文字列に基づいて新しいFileインスタンスを作成します
4.File(URI uri)指定されたファイル:URIを新しいFileインスタンスを作成するための抽象パス名

指定されたファイル仮想パスが存在するかどうかに関係なく、Javaで作成されたFileオブジェクトはnullであってはなりませんが、ファイルオブジェクトの作成が成功しても、このファイルをハードディスクに保存する必要はありません。

ファイルストリームの分類

方向によって、入力ストリーム(ファイルの読み取り用)と出力ストリーム(ファイルの書き込み用)
に分割できます内容に応じて、バイトストリーム(バイナリファイルの読み取りと書き込み)と文字ストリーム(読み取りと書き込み)に分割できますテキストファイル
は方法に従って分割され、ノードフロー(ファイル作成用)と処理フロー(その他のファイルフロー作成用)に分割できます。

バイト入力ストリームのクラス継承関係
ここに画像の説明を挿入
その中でも、BufferedInputStreamバッファストリーム(処理ストリーム)は、比較的大量のデータを持つファイル入力のFileInputStreamファイルストリームに基づいています。
バイト入力ストリームのメインメソッド
ここに画像の説明を挿入
ここでは、ファイルストリームの終了後にclose()メソッドを実行する必要があることに注意してください。そうしないと、システムリソースが占有され、システムパフォーマンスに特定の影響が出ます。


ここに画像の説明を挿入
文字入力ストリームのクラス継承文字入力ストリームの主なメソッド
ここに画像の説明を挿入

バイト出力ストリームクラスの継承関係
ここに画像の説明を挿入
同様に、BufferedOutputStreamバッファストリーム(処理ストリーム)は、比較的大量のデータを持つファイル出力のFileOutputStreamファイルストリームに基づいています。バイト出力ストリーム
のメインメソッド
ここに画像の説明を挿入
文字出力ストリームのクラス継承関係
ここに画像の説明を挿入
文字出力ストリームのメインメソッド
ここに画像の説明を挿入
JAVA言語は、バイトストリームを文字ストリームに内部的に変換します。この変換は、構築メソッドであるInputStreamReaderおよびOutputStreamReaderを介して行われます。次のように:
InputStreamReader(InputStream in、String charname):指定されたエンコーディング仕様を使用して、バイト入力ストリームを文字入力ストリームに変換します。そうでない場合は、例外がスローされます。
OutputStreamReader(OutputStream out、String charname):指定されたエンコード仕様を使用して、バイト出力ストリームを文字出力ストリームに変換します。それ以外の場合は、例外がスローされます。

Javaシリアル化読み取りおよび書き込み

Javaは、バイトおよび文字の形式でファイルを読み書きする機能を提供するだけでなく、Javaデータ型を読み書きする機能も提供します。
Javaオブジェクトの形式でファイルにデータを格納する操作、または対象ファイルからJavaオブジェクトを取得する操作をシリアライズ操作といい、シリアライズ可能なオブジェクトをシリアライズオブジェクトといいます

Javaファイルストリームで注意すべき点

1. Javaでファイル、フォルダー、createNewFile()、delete()、mkdir()、mkdirs()関数を作成または削除します。
2.ファイルを判断するための関数:exists()、isFile()、isAbsolute()、isDirectory()、canRead()、canWrite()、isHidden()関数の使用。
3.ファイル属性関数:lastModified()、length()、list()、listFiles()、renameTo()、getName()、getParent()、getPath()、getAbsolutePath()、delete()関数の使用。
4.ファイルの入出力操作におけるFileInputStream()とInputStreamReader()の使用と違い。

オリジナルの記事を8件公開 Likes2 訪問数500

おすすめ

転載: blog.csdn.net/qq_42003546/article/details/100042947