JAva IOのファイル入出力ストリーム
2841 ワード
JAva IOのファイル入出力ストリーム
プログラムの実行中、ほとんどのデータはメモリに含まれますが、プログラムが閉じるとメモリのデータは消えます.データを永続的に保存するには、ファイル入出力ストリームを介してファイルに連絡し、必要なデータをファイルに格納する必要があります.
1. FileInputStreamクラス
参考ブログ:FileInputStreamクラス
2. FileOutputStreamクラス
参考ブログ:FileOutputStreamクラス
3. FileReaderクラスとFileWriterクラス
漢字が2バイトを占有しているため、FileInputStreamを使用してファイルからデータを読み取ることとFileOutputStreamを使用してファイルにデータを書き込むことで、ファイルの文字化けしが発生する可能性があります.Javaで採用されているUnicode文字でUnicodeでは漢字が1文字と見なされるため、FileInputStreamを使用してファイルからデータを読み取ることは避けられます.
FileReaderとFileWriterは、FileInputStreamとFileOutputStreamの2つのバイトストリームに対応する2つの文字ストリームであり、それぞれReaderとWriteのサブクラスである.
FileReaderの構造方法は次のとおりです.
Ø FileReader(String name):指定した名前nameを使用してFileReaderオブジェクトを作成します.
Ø FileReader(File file):Fileオブジェクトを使用してFileReaderオブジェクトを作成します.
Ø
FileWriterの構造方法は次のとおりです.
Ø FileWriter(String name):指定した名前nameを使用してFileWriterオブジェクトを作成します.
Ø FileWriter(File file):Fileオブジェクトを使用してFileWriterオブジェクトを作成します.
Ø FileWriter(String file Name,boolean append):指定した名前のnameを使用してFileWriterオブジェクトを作成します.2番目のパラメータがtrueの場合、ファイルの先頭ではなく、バイトをファイルの末尾に書き込みます.
Ø FileWriter(File file,booleanappend):Fileオブジェクトを使用してFileWriterオブジェクトを作成します.2番目のパラメータがtrueの場合、ファイルの先頭ではなくファイルの末尾にバイトを書き込みます.
FileReaderストリーム順序の読み取りファイルは、ストリームを閉じない限り、readメソッドを呼び出すたびに、ソースの末尾またはストリームが閉じられるまで、ソース内の残りのコンテンツを順次読み出す.FileReaderの方法はFileInputStreamの方法を参照できます.
FileWriterストリーム順序の書き込みファイルは、ストリームを閉じない限り、writeメソッドを呼び出すたびにストリームが閉じられたり異常が発生するまで順番にソースにコンテンツを書き込む.FileWriterの一般的なメソッドは、Java IOの入出力ストリームにおけるWriterクラスの一般的なメソッドを参照してください.
例:キーボード入力データをFileWriterでCディスクのtest.txtに書き込み、FileReaderでコンソールに出力します.
コードは次のとおりです.
結果:
テスト内容を入力してください:
皆さん、こんにちは、これは私が作った個人の総括で、みんなの参考にすることができることを望みます!
皆さん、こんにちは、これは私が作った個人の総括で、みんなの参考にすることができることを望みます!
Cディスクtest.txtファイルの内容は次のとおりです.
皆さん、こんにちは、これは私が作った個人の総括で、みんなの参考にすることができることを望みます!
プログラムの実行中、ほとんどのデータはメモリに含まれますが、プログラムが閉じるとメモリのデータは消えます.データを永続的に保存するには、ファイル入出力ストリームを介してファイルに連絡し、必要なデータをファイルに格納する必要があります.
1. FileInputStreamクラス
参考ブログ:FileInputStreamクラス
2. FileOutputStreamクラス
参考ブログ:FileOutputStreamクラス
3. FileReaderクラスとFileWriterクラス
漢字が2バイトを占有しているため、FileInputStreamを使用してファイルからデータを読み取ることとFileOutputStreamを使用してファイルにデータを書き込むことで、ファイルの文字化けしが発生する可能性があります.Javaで採用されているUnicode文字でUnicodeでは漢字が1文字と見なされるため、FileInputStreamを使用してファイルからデータを読み取ることは避けられます.
FileReaderとFileWriterは、FileInputStreamとFileOutputStreamの2つのバイトストリームに対応する2つの文字ストリームであり、それぞれReaderとWriteのサブクラスである.
FileReaderの構造方法は次のとおりです.
Ø FileReader(String name):指定した名前nameを使用してFileReaderオブジェクトを作成します.
Ø FileReader(File file):Fileオブジェクトを使用してFileReaderオブジェクトを作成します.
Ø
FileWriterの構造方法は次のとおりです.
Ø FileWriter(String name):指定した名前nameを使用してFileWriterオブジェクトを作成します.
Ø FileWriter(File file):Fileオブジェクトを使用してFileWriterオブジェクトを作成します.
Ø FileWriter(String file Name,boolean append):指定した名前のnameを使用してFileWriterオブジェクトを作成します.2番目のパラメータがtrueの場合、ファイルの先頭ではなく、バイトをファイルの末尾に書き込みます.
Ø FileWriter(File file,booleanappend):Fileオブジェクトを使用してFileWriterオブジェクトを作成します.2番目のパラメータがtrueの場合、ファイルの先頭ではなくファイルの末尾にバイトを書き込みます.
FileReaderストリーム順序の読み取りファイルは、ストリームを閉じない限り、readメソッドを呼び出すたびに、ソースの末尾またはストリームが閉じられるまで、ソース内の残りのコンテンツを順次読み出す.FileReaderの方法はFileInputStreamの方法を参照できます.
FileWriterストリーム順序の書き込みファイルは、ストリームを閉じない限り、writeメソッドを呼び出すたびにストリームが閉じられたり異常が発生するまで順番にソースにコンテンツを書き込む.FileWriterの一般的なメソッドは、Java IOの入出力ストリームにおけるWriterクラスの一般的なメソッドを参照してください.
例:キーボード入力データをFileWriterでCディスクのtest.txtに書き込み、FileReaderでコンソールに出力します.
コードは次のとおりです.
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class FileDemo {
public staticvoidmain(String[] args){
File file;
char[] data=newchar[512];
int b;
try {
file=new File("C:"+File.separator+"test.txt");
FileWriter writer=new FileWriter(file);
Scanner sc=new Scanner(System.in);
System.out.println(" :");
String str=sc.nextLine();
writer.write(str);
writer.close();
FileReader reader=new FileReader(file);
while((b=reader.read(data,0,512))!=-1){
String s=new String(data,0,b);
System.out.println(s);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
結果:
テスト内容を入力してください:
皆さん、こんにちは、これは私が作った個人の総括で、みんなの参考にすることができることを望みます!
皆さん、こんにちは、これは私が作った個人の総括で、みんなの参考にすることができることを望みます!
Cディスクtest.txtファイルの内容は次のとおりです.
皆さん、こんにちは、これは私が作った個人の総括で、みんなの参考にすることができることを望みます!