java工廠模式將資訊存入檔案
阿新 • • 發佈:2018-11-12
我們在學習java檔案讀寫時剛開始對於工廠模式的儲存可能會比較模糊,例如存入學生資訊系統每一個成員都有很多資訊分支而,在c語言中我們可以以結構體連結串列進行操作但java未提供我們這樣的方法去將一整個單元存入檔案之中,這時我們應採取的方法以演算法解決這樣的問題。我們在儲存時可以在每一個成員的不同資訊中以字元或空格隔開,java中再讀取檔案時是一整行讀取,讀取後在切割,分解資訊,這樣檔案中一行一個成員。
下面舉了一個簡單的例項,具體操作如下。
先編寫一個成員類
public class Display { public String name; public String schoolnumber; public Display(String name,String schoolnumber){ this.name=name; this.schoolnumber=schoolnumber; } //初始化成員變數 }
import java.io.*; public class Main { public static void main(String[] args) { Display display=new Display("小曾","10010"); //建立兩個物件例項 Display display1=new Display("阿方","10011"); File file=new File("work.txt"); //建立檔案物件 try{ FileWriter p=new FileWriter(file); BufferedWriter p1=new BufferedWriter(p); p1.write(display.name); p1.write(" "); //以空格符分隔開成員資訊 p1.write(display.schoolnumber); p1.newLine(); //存入物件一後換行 p1.write(display1.name); p1.write(" "); p1.write(display1.schoolnumber); p1.newLine(); p1.close(); p.close(); }catch (Exception e){ e.printStackTrace(); } try{ FileReader q=new FileReader(file); BufferedReader q1=new BufferedReader(q); String s=null; int i=0; while ((s=q1.readLine())!=null){ i++; String[] words=s.split(" "); //定義String陣列words 一空格符分割字串s,String類的一些方法在我部落格中有一篇詳細的介紹 System.out.println("第"+i+"個同學的姓名為:"+words[0]); System.out.println("學號為"+words[1]); } //迴圈讀取檔案每一行一String s儲存 q1.close(); q.close(); }catch (Exception e1){ e1.printStackTrace(); } } }
上圖為檔案中資訊儲存情況
下圖為程式碼執行結果