2010-11-15 40 views
2

嗨 我創建了一個名爲'Human'的類,該類的每個對象都有一個名稱和一個可以是學生或教師的類型。我創建了另一個創建Human對象的類主類,併爲對象分配類型和名稱,並將該對象添加到linkedList中。現在我想將這個鏈接列表寫入一個文件,但我不知道如何。我必須將這兩個對象及其類型寫入該鏈接列表中。我已經創建了以下作爲主要類,但我在編寫文件部分有問題。你能指導我嗎?寫入java文件的幫助

public class Testing { 

    public static LinkedList<Human> link =new LinkedList<Human>(); 
    static FileOutputStream fop; 
    public static void main(String args[]) 
    { 
     File f=new File("textfile1.txt"); 
     try { 
      fop=new FileOutputStream(f); 
     } catch (FileNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 


     Human hm = new Human(); 
     Human hum = new Human(); 
     hm.setName("Anna"); 
     hm.setType("Student"); 
     hum.setName("Elvis"); 
     hum.setType("Instructor"); 
     link.add(hm); 
     link.add(hum); 
     for (Human h : link) { 
      fop.write(h.getType()); 
      fop.write(h); 
     } 


    } 
} 
+0

這取決於你想要寫入文件的內容。你想要的值,serlialised對象,一個XML表示? – Codemwnci 2010-11-15 16:04:30

+0

我想寫對象 – 2010-11-15 16:05:52

+0

以可讀形式。或以二進制形式? – Codemwnci 2010-11-15 16:08:27

回答

2

java.io.PrintStream

PrintStream p = new PrintStream(fop); 
for (Human h : link) { 
    p.println(h.getType()); 
    p.println(h); 
} 
p.close(); 

假設你已經實施了人類一個toString方法。

1

您的問題一個簡單而工作的解決方案將創建一個簡單的「CSV」文件,這將是您的Human對象的可讀表示,看起來像:

Anna;Student 
Elvis;Instructor 

你可以做實現這一目標:

for (Human h : link) { 
    String line = h.toString() + ";" + h.getType() + "\n"; 
    fop.write(line.getBytes()); 
} 
+0

如果我想在Test類中添加另一個方法來讀取'textfile'_which我已經使用上面的code_ino linkedList創建了一個好方法嗎? – 2010-11-15 16:33:37