2017-09-09 39 views
-1

我正在使用Serializable保存和從內部存儲中獲取對象;這工作非常好。主要問題是使用下面顯示的方法獲取寫入文件的路徑(在存儲器中)(原諒我,沒有例外)。我希望能夠獲取保存在目錄路徑中的對象總數。獲取序列化對象的文件路徑

public static void writeObject(Context context, String name, Object object){ 

    FileOutputStream fos = context.openFileOutput(name, Context.MODE_PRIVATE); 
    ObjectOutputStream oos = new ObjectOutputStream(fos); 
    oos.writeObject(object); 
    oos.close(); 
    fos.close(); 

    }//End of writeObject method 




public static Object readObject(Context context, String name){ 

    FileInputStream fis = context.openFileInput(name); 
    ObjectInputStream ois = new ObjectInputStream(fis); 
    Object object = ois.readObject(); 
    return object; 

    }//End of readObject method 
+0

序列化對象的數量是1.你問有多少*文件*? – EJP

+0

@EJP不,我希望能夠知道在任何給定時間點保存的序列化對象的數量。我已經明白了。我只是使用getFilesDir()。listFiles()。length來獲得它。 – Taslim

+0

您只爲每個文件保存一個串行對象。答案是1,或者你想知道有多少文件。下定決心。您對@ Commonsware的回答的評論與我同意。 – EJP

回答

4

我怎樣才能得到確切的路徑

您正在使用openFileInput()openFileOutput()。這些文件存儲在由getFilesDir()標識的位置。

還保存在該路徑/目錄中的對象總數?

好吧,似乎你只是每個文件存儲一個對象。您可以使用listFiles()對由getFilesDir()返回的File對象查看該目錄中的文件。然後,您需要確定哪些文件代表您的對象(與其他文件結合在該目錄中),然後對這些文件進行計數。

+0

工作過,謝謝! – Taslim