Javaのお勉強その14
- 表示
String a = "small"; String A = "large"; System.out.printf("a = %2$s, A = %1$s",A,a);
とすると、a = small, A = largeと表示される。番号$は省略できるが、その場合は埋め込む文字の順序は変更できない。後ろにつけたものから順に埋められる。printfの書式をいくつか示す。
printfの書式(フラグ) - 左揃えにする + 符号をつける 0 空きを0で埋める , コンマ区切りを使う ( 負の値をかっこで囲む - File
java.io.Fileはファイルやディレクトリ(!)を表すクラスである。
Fileオブジェクトはいくつかのコンストラクタを持つ。
File(String name) File(String dir, String name) File(File dir, String name)
Fileオブジェクトを生成してもファイルはすぐに作成できない。createNewFile()でファイルを作成する。ただし、ファイルが生成できない場合はjava.io.IOExceptionがスローされる。
- ReaderとWriter
java.io.Readerとjava.io.Writerは文字の入出力に使うためのクラスである。
FileReader/Writerはファイルの入出力に使う。
BufferedReader/Writerはバッファを使い、効率よく入出力を行う。BufferedReader/WriterはReader、Writer(入出力のためのクラス)から生成できる。
Print.Writerは文字・文字列の入出力に使う。System.outのクラスである。File、Writer、Stringなどから生成できる。
Reader、Writerのメソッド(失敗時にIOExceptionが投げられる) int read() 文字を1文字読みだして戻す void write(char c) cを書き込む void write(String s) sを書き込む void flush() フラッシュする void close() 閉じる 閉じる BufferedReaderはString readLine()という文字列を1行読み込んで返すメソッドを持っている。
BufferedWriterはvoid newLine()という文字列を1行書き込むメソッドを持っている。
import java.io.*; class file{ // IOExceptionを投げると書かないとコンパイルエラーになるよ。 // readLineメソッドなどは例外を投げる可能性があるので。 public static void main(String[] args)throws IOException{ File f = new File("test.txt"); PrintWriter pw = new PrintWriter(f); pw.write('x'); // 書き込み pw.println("hello"); // これも書き込み pw.flush(); pw.close(); // ReaderからBufferedReaderを生成する。 BufferedReader br = new BufferedReader(new FileReader(f)); System.out.println(br.readLine()); } }
0 件のコメント:
コメントを投稿