English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

javaのIOストリームの詳細な解説

ストリームはデータのシリーズです。

異なるメディア間でデータの交換がある場合、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(メール送信時、#を@に置き換えてください。報告を行い、関連する証拠を提供してください。一旦確認がとりつけば、本サイトは侵害された内容をすぐに削除します。

おすすめ