English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ストリームはデータのシリーズです。
異なるメディア間でデータの交換がある場合、JAVAはストリームを使用して実現します。データソースはファイルだけでなく、データベース、ネットワーク、他のプログラムなどができます。
例えば、ファイルのデータを読み取るプログラムに、プログラムの視点からは入力ストリームと呼ばれます。
バイトストリーム(データを読み取ったり書き出したりするバイトの形式)
InputStreamはバイト入力ストリームであり、抽象クラスであり、メソッドの宣言のみを提供し、具体的な実装は提供しません。
FileInputStreamはInputStreamのサブクラスであり、ファイル読み取りの例としてFileInputStreamを使用します。
package testIO; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Date; public class testFile { public static void main(String[] args) throws IOException { File f=new File("F:/test/lol.txt"); //ファイルに基づく入力ストリームを作成します。 FileInputStream fis=new FileInputStream(f); //ファイルの長さと同じ長さのバイト配列を作成します。 byte[] bs=new byte[(int) f.length()]; System.out.println("ファイルのすべての内容をバイトストリームの形式で読み取ります:"+fis.read(bs)); for (byte b:bs){ System.out.println(b); } fis.close(); } }
OutputStreamはバイト出力ストリームであり、抽象クラスであり、メソッドの宣言のみを提供し、具体的な実装は提供しません。
FileOutputStreamはOutputStreamのサブクラスであり、データ書き出しの例としてFileOutputStreamを使用します。
package testIO; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class writeIO { public static void main(String[] args) throws IOException { File f=new File("F:/test/lol.txt"); FileOutputStream fos=new FileOutputStream(f); byte data[]={87,88}; fos.write(data); fos.close(); } }
注:lolファイルが存在しない場合、操作を書き出すと自動的にファイルを作成します。ディレクトリtestが存在しない場合、例外が発生します。
もしなぜなら、ディレクトリtestが存在しない場合、プログラムが自動的に作成できる方法はどうですか?パスがF:の場合、/test/yang/lol.txt、そしてtestとyangが存在しないですか?
package testIO; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class writeIO { public static void main(String[] args) throws IOException { File f=new File("F:/test/yang/csdn/lol.txt"); System.out.println(f.exists()); File dir=f.getParentFile(); //ファイルの所在ディレクトリを取得 if(!dir.exists()){ dir.mkdirs(); //ファイルのディレクトリが存在しない場合、存在しないディレクトリを作成します } FileOutputStream fos=new FileOutputStream(f); byte data[]={87,88}; fos.write(data); fos.close(); } }
プログラム内でファイルの所在ディレクトリを取得し、ディレクトリが存在しない場合にはディレクトリを作成します
まとめ
これで本文におけるjavaのIOストリームの詳細解説は全て終わりました。皆様に役立つことを願っています。興味を持たれた方、本サイトの他の関連トピックもご覧ください。不十分な点があれば、コメントをお願いします。皆様のサポートに感謝します。
声明:本文の内容はインターネットから収集され、著作権者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしました。本サイトは所有権を持ちません。また、人工的な編集も行っていません。著作権侵害の疑いがある場合は、メールでnotice#wまでお知らせください。3codebox.com(メール送信時、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認がとりつけば、本サイトは侵害された内容をすぐに削除します。