私は初心者で、コードをコピーして貼り付けるだけでなく、その概念を本当に学びたいと思っています。私は、Jave IO を正確に使用する方法を学びたかったのですが、私のさまざまなバージョンのコードを見て混乱し、がっかりしました。
だから私は自分のメモを作成し、ここで専門家に私が正しいかどうかを確認したいと思いました. これらは私自身の参照用です。完全ではないことは承知していますが、正しいかどうかを確認していただければ幸いです。
BufferedWriter と FileWriter を使用して、テキスト ファイルを (文字として) 書き込みます。欠点は、プリミティブ データ型を記述できないことです。
元:
BufferedWriter bw= new BufferedWriter (new FileWriter("a.txt", true));
String x;
while ((x=bw.readLine())!=null){
bw.newLine();
bw.write(x);
bw.flush();}
BufferedReader と FileReader を使用してテキスト ファイルを (文字として) 読み取る
元:
BufferedReader br = new BufferedReader (new FileReader("b.txt"));
String x;
while ((x=br.readLine())!=null){
System.out.println(x);}
DataOutputStream と FileOutputStream を使用して、テキスト ファイル (バイナリ) に書き込みます。利点は、プリミティブ データ型と文字列を記述できることです。
元:
DataOutputStream dos = new DataOutputStream(new FileOutputStream("out.txt"));
dos.writeInt(cityIdA); // int cityIdA = 9897;
dos.writeUTF(cityNameA); // String cityNameA = "Green Lake City";
dos.writeInt(cityPopulationA); // int cityPopulationA = 500000;
dos.writeFloat(cityTempA); // float cityTempA = 15.50f;
dos.flush();
DataInputStream と FileInputStream を使用して、テキスト ファイル (バイナリ) を読み取ります。利点は、プリミティブ データ型と文字列を読み取ることができることです。
元:
DataInputStream dis = new DataInputStream(new FileInputStream("inp.txt"));
int cityId1 =dis.readInt(); // int cityIdA = 9897;
String cityName1 =dis.readUTF(); // String cityNameA = "Green Lake City";
int cityPopulation1 =dis.readInt(); // int cityPopulationA = 500000;
float cityTemperature1 =dis.readFloat(); // float cityTempA = 15.50f;
実際のコード:
import java.io.*;
class b{
public static void main (String args[]) throws IOException{
int cityIdA = 9897;
String cityNameA = "Green Lake City";
int cityPopulationA = 500000;
float cityTempA = 15.50f;
BufferedWriter bw = new BufferedWriter(new FileWriter("shahar.txt"));
bw.write("9897");
bw.write("Green Lake City");
bw.write("500000");
bw.write("15.50");
bw.flush();
bw.close();
DataOutputStream dos = new DataOutputStream(new FileOutputStream("out.txt"));
dos.writeInt(cityIdA);
dos.writeUTF(cityNameA);
dos.writeInt(cityPopulationA);
dos.writeFloat(cityTempA);
dos.flush();
BufferedReader br = new BufferedReader (new FileReader("shahar.txt"));
String x;
while ((x=br.readLine())!=null){
System.out.println(x);}
DataInputStream dos1 = new DataInputStream(new FileInputStream("out.txt"));
int cityId1 = dos1.readInt(); // int cityIdA = 9897;
System.out.println( cityId1);
String cityName1 =dos1.readUTF(); // String cityNameA = "Green Lake City";
System.out.println(cityName1);
int cityPopulation1 =dos1.readInt(); // int cityPopulationA = 500000;
System.out.println(cityPopulation1);
float cityTemperature1 =dos1.readFloat(); // float cityTempA = 15.50f;
System.out.println(cityTemperature1);
}
}