我有各種 CSV 文件,代表需要添加到 Cloud FireStore 的不同類。我使用 CSV 例程庫將 csv 記錄從特定的 csv 文件轉換為特定類的對象,然后將每個對象添加到特定的 Cloud FireStore 集合此代碼有效try { InputStreamReader is = new InputStreamReader(getAssets() .open("fullvar3.csv")); CsvRoutines routines = new CsvRoutines(); FirebaseFirestore firestore = FirebaseFirestore.getInstance(); for (Variety v : routines.iterate(Variety.class, is)) { firestore.collection("/static/test/DFLKJDF39494/varieties").add(v); } } catch(IOException ex){ System.out.println("Exception"); ex.printStackTrace(); }有很多 csv 文件 - 每個代表一個不同的類。Cloud FireStore中也有不同的對應集合需要添加內容。我想為每個 CSV 文件/類/Cloud Firestore 元組創建一個可以使用參數調用的方法。傳入 csv 文件名和 Cloud Firestore 集合路徑很容易,但我在上課時遇到了麻煩。它在 for-each 循環中發揮了兩次作用——一次作為對象,一次作為“.class”事物。這是我到目前為止所擁有的(不編譯)。public void addToCloudStore(String filename, String path, Class cl){ try { InputStreamReader is = new InputStreamReader(getAssets() .open(filename)); CsvRoutines routines = new CsvRoutines(); FirebaseFirestore firestore = FirebaseFirestore.getInstance(); Object obj = new Object(); cl.cast(obj); for (obj : routines.iterate(cl, is)) { firestore.collection(path).add(obj); } } catch(IOException ex){ System.out.println("Exception"); ex.printStackTrace(); }}如何修改它才能工作?
1 回答

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
這是一個有效的解決方案
public void addToCloudStore(String filename, String path, Class<?> cl){
try {
InputStreamReader is = new InputStreamReader(getAssets()
.open(filename));
CsvRoutines routines = new CsvRoutines();
FirebaseFirestore firestore = FirebaseFirestore.getInstance();
for (Object obj : routines.iterate(cl, is)) {
firestore.collection(path).add(obj);
}
} catch(IOException ex){
System.out.println("Exception");
ex.printStackTrace();
}
}
添加回答
舉報
0/150
提交
取消