JAvaのIOストリームの詳細解読

2594 ワード

ストリームは、一連のデータです.
異なるメディア間でデータの相互作用がある場合、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ストリームの詳細な解読のすべてであり、皆さんの役に立つことを願っています.興味のある方は引き続き当駅の他の関連テーマを参照することができます.不足点があれば、伝言を歓迎します.友达の本駅に対する支持に感谢します!