JavaのString……のつづき
マルチポスト元→http://exth.net/~tgbt/wordpress/2009/08/19/2470/
import java.io.*; /* java の StringBuilder の挙動を確認するテスト. StringBuilderで幸せになれる! (data.txtの中身がhogeなら)全部 hoge が返るモノとばかり思っていたよ!!! */ public class fileio2{ public static final String CLASSNAME = "fileio"; public static void build(StringBuilder str) { str.append("hoge"); } public void build2(StringBuilder str) { str.append("hoge"); } public static void InputStringBuilder(StringBuilder str, String filename){ String HEADER = CLASSNAME + "::InputString "; try{ BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(filename))); String line; while((line = in.readLine())!=null)str.append(line); in.close(); } catch(Exception e){ System.err.println(HEADER + e); } } public static void main(String []args) { String HEADER = CLASSNAME + "::main "; String str = ""; String filename = "data.txt"; StringBuilder sb = new StringBuilder(); build(sb); str = sb.toString(); System.out.println("build 1"); System.out.println(" : "+sb); System.out.println(" : "+str); StringBuilder sb2 = new StringBuilder(); fileio2 f3 = new fileio2(); f3.build2(sb2); str = sb2.toString(); System.out.println("build 2"); System.out.println(" : "+sb2); System.out.println(" : "+str); StringBuilder sb3 = new StringBuilder(); InputStringBuilder(sb3, filename); str = sb3.toString(); System.out.println("build 3"); System.out.println(" : "+sb3); System.out.println(" : "+str); } }
実行結果:
build 1 : hoge : hoge build 2 : hoge : hoge build 3 : hoge : hoge
StringBuilderで幸せになった.なるほーど.