Javaを使用してファイルI/Oを学習しています。
以下は、2つの異なるJavaファイルからの私のコードです。1つはメインクラスの「File」で、もう1つは「FileWrite」です。
文字列の入出力を実装することができました。しかし、出力テキストファイルは最初はぎこちなく、理由はわかりません。
[File.Java]
package file;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class File {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("B:\\fileIn.txt")))
{
String stCurrent;
while ((stCurrent = br.readLine()) != null) {
System.out.println(stCurrent);
}
} catch (IOException e) {
e.printStackTrace();
}
FileWrite fW = new FileWrite();
fW.serializeAddress("Boston", "Canada");
}
}
[FileWrite.Java]
package file;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class FileWrite {
public void serializeAddress(String city, String country) {
try {
FileOutputStream fout = new FileOutputStream("B:\\address.txt");
ObjectOutputStream obOut = new ObjectOutputStream(fout);
obOut.writeUTF(city);
obOut.writeUTF(country);
obOut.close();
System.out.println("Output Done");
} catch(Exception ex) {
ex.printStackTrace();
}
}
}
さて、「obOut.writeUTF(city); obOut.writeUTF(country);」について 2つの文字列入力を分離しました。それらを1つに組み合わせる方法はありますか?2つではなくobOut.writeUTF(city、counry)のように。それとも、これはこれらをオブジェクトにすることによってのみ達成可能ですか?
[更新]さらにいくつかインポートして試してみました
PrintStream ps = new PrintStream(new FileWriter("B:\\addressPS.txt"));
ps.println(city);
ps.println(country);
ps.close();
But with errors, any clue?