Chapter12「テキストファイルを保存する」(Lesson12-1)
テキストファイルに出力するプログラム。
ただし、以前、やさしいjava 6版 で習った方法より記入が簡素だ。
なぜだろう。
どうしてだろう。
ネットで 色々調べて確認。
どうやら、FileWriterのクラスと PrintWriterのクラスとの違いらしい。
⭐️Sample1201(FileWriter)
import java.io.*;
class Main{
    public static void main(String[] args){
        try{
            FileWriter fw = new FileWriter("test.txt");
            fw.write("文字列をテキストファイルに書き込みました。");
            fw.write("追加");
            fw.write("\n");
            fw.write("1+2=" + (1+2));
            fw.close();
        }
        catch(IOException e){
            System.out.println(e);
        }
    }
}
↓出力されたテキストには。
『文字列をテキストファイルに書き込みました。追加』
『1+2=3』 と出力される。
⭐️Sample7(PrintWriter)
import java.io.*;
class Sample{
    public static void main(String[] args){
        try{
            PrintWriter pw = new PrintWriter
            (new BufferedWriter(new FileWriter("test1.txt")));
            pw.println("文字列をテキストファイルに書き込みました。");
            pw.println("追加。");
            pw.println("");
            pw.print("文字列を〜");
            pw.println("追加。");
            pw.print("文字列を" + "\n");
            pw.print("\t" + "追加。");
            pw.println("1+2=" + (1+2));
            pw.close();
        }
        catch(IOException e){
            System.out.println(e);
        }
    }
}
↓出力されたテキストには。
『文字列をテキストファイルに書き込みました。』
『追加。』
『』
『文字列を〜追加。』
『文字列を』
『文字列を』
『 追加。1+2=3』
と出力される。
つまり FileWriterのクラスでも、PrintWriterのクラスでも
"\n" の様な エスケープシーケンス や
"1+2=" + (1+2) の様な 出力も出来るらしい。
ただ、PrintlWriterのクラスでは println と print の性質の違いが
出るんだなっと 一人で納得。
今日の教訓
わからないところは まず 調べて 手を動かそう。
0 件のコメント:
コメントを投稿