2013-10-14 106 views
0

在這段代碼中,我很困惑我將如何返回保存的結果。我試圖return saveVector;並返回baseDirectory;,但顯然我不能將矢量轉換爲字符串。我是編碼的小白,所以在這裏的任何幫助將不勝感激,我會愛你撕裂這個已經存在的代碼片斷。返回保存的結果

public String add(String category, Question q) { 
    // Get the vector of questions from a category file 
    Vector<Question> Q = new Vector<Question>(); 
    // Add the question object to the vector 
    Q.add(q); 
    // Save the vector back to the category file 
    ObjectOutputStream saveVector = new ObjectOutputStream(new FileOutputStream(baseDirectory)); 
    // Return the result of the save operation 
    return saveVector; 
} 
+1

我認爲你需要發佈更多的代碼,以及你想要達到的目標。你現在發佈的代碼創建了一個新的Vector,添加了一個元素,並在繼續時創建一個ObjectOutputStream,我懷疑它甚至應該在add()方法中。 –

+0

好的。這是一個包含三個獨立課程的項目。我知道這個區塊是錯的,需要最多的工作,但是我很迷失如何讓它正常工作。如果有幫助,我可以將所有三個班級聯繫起來。 – Ryel

+0

創建者:問題: QuestionManager: Ryel

回答

0
public String add(String category, Question q) { 
    // Get the vector of questions from a category file 
    Vector<Question> Q = new Vector<Question>(); 
    // Add the question object to the vector 
    Q.add(q); 
    // Save the vector back to the category file 
    ByteArrayOutputStream saveVector = new ByteArrayOutputStream(new FileOutputStream(baseDirectory)); 
    // Return the result of the save operation 
    return new String(saveVector.toByteArray()); 
} 

使用ByteArrayOutputStream代替,並創建從ByteArrayOutputStream的ByteArray的一個新的String。