Java プログラムでは、ストリームを介した入出力デバイスとのデータ送信が可能です。 Java のストリームはすべて java.io パッケージ内にあり、IO (入力および出力) ストリームと呼ばれます。 IO ストリームは、操作データの違いに応じてバイト ストリームと文字ストリームに分割できます。データの送信方向の違いに応じて、入力ストリームと出力ストリームに分割できます。プログラムは入力ストリームからデータを読み取り、出力ストリームに書き込みます。データ、IO パッケージでは、バイト ストリームの入力と出力はそれぞれ java.InputStream と java.io.OutputStream で表され、文字ストリームの入力と出力は java.io.Reader と java で表されます。それぞれio.Writer。
コンピュータでは、テキスト、画像、オーディオ、ビデオなど、すべてのファイルがバイナリ形式で存在します。バイト ストリームはプログラムで最も一般的に使用されます。ストリームは次のように分類されます。データ送信の方向に応じて、バイト入力ストリームとバイト出力ストリームが用意されています。JDK では、InputStream と OutputStream という 2 つの抽象クラスが提供されています。これらはバイト ストリームの最上位の親クラスです。すべてのバイト入力ストリームは Inherit OutputStream.
int read()//入力ストリームから 8 ビット バイトを読み取り、0 ~ 255 の整数に変換し、この整数を返します
int read( byte[]b)//入力ストリームから数バイトを読み取り、パラメータ b で指定されたバイト配列に保存します。返される整数テーブル 4 読み取ったバイト数
int read(byte[]b,int off,int len)//入力ストリームからバイト数を読み取り、パラメータ b で指定されたバイト配列に保存します。off はワードを指定します。セクション配列はデータの開始インデックスの保存を開始します。len は読み取ったバイト数を表します
void close()//この入力ストリームを閉じ、ストリームに関連付けられたすべてのシステム リソースを解放します。
void write(int b)/ /出力ストリームにバイトを書き込みます
void write(byte[]b)//パラメータ b で指定されたバイトを書き込みます配列のすべてのバイトを出力ストリームに書き込みます
void write(byte[]b,int off,int len)//指定されたバイト配列のオフセット off から始まる len バイトを出力ストリームに書き込みます
voidlush()//この出力ストリームを更新し、バッファされたすべての出力バイトの手書きを強制します
void close( )//この出力ストリームを閉じ、このストリームに関連するすべてのシステム リソースを解放します
flush() メソッドは、現在の出力ストリーム バッファー (通常はバイト配列) 内のデータを強制的にこのプロセスはフラッシュと呼ばれます。 InputStream と OutputStream の 2 つのクラスは、データの読み取りと書き込みに関連するいくつかのメソッドを提供しますが、これら 2 つのクラスは抽象クラスであり、インスタンス化できません。
コンピュータ内のデータは基本的にハードディスク上のファイルに保存されているため、ファイルを操作する際にはファイルからデータを読み取って書き込むことになります。 FileInputStream と File Output Stream は、読み取りおよび書き込み操作のための 2 つのクラスです。ファイルからのデータの読み取りは繰り返し操作であるため、データを連続的に読み取るにはループ ステートメントが必要です。
package IO; import java.io.FileInputStream; public class Li01 { public static void main(String[] args) throws Exception{ FileInputStream in=new FileInputStream("test.txt"); int b=0; while(true){ b=in.read(); if(b==-1){ break; } System.out.print(b+" "); } in.close(); } }
デモ結果
#数値が出力されるのは、ハードディスク上のファイルがバイト単位で存在するためです。ファイル データ の場合、ファイルが対応するディレクトリに存在し、読み取り可能であることを確認する必要があります。
package IO; import java.io.FileOutputStream; import java.io.OutputStream; import java.nio.charset.StandardCharsets; public class Li02 { public static void main(String[] args) throws Exception{ OutputStream out=new FileOutputStream("example1.txt"); String str="好好学习,天天向上!"; byte[]b=str.getBytes(StandardCharsets.UTF_8); for(int i=0;i<b.length;i++){ out.write(b[i]); } out.close(); } }
FileOutputStream を通じてデータを書き込む場合、ファイル example1.txt が自動的に作成され、データはfile 、既存のファイルにコンテンツを書き込む場合、最初にファイルのコンテンツがクリアされ、次に新しいデータが書き込まれます。既存のファイルにコンテンツを追加したい場合は、ファイル名の後にブール値を追加できますtrue に設定します。
rreeee
以上がJava ファイルの読み取りおよび書き込み操作の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。