我想了解資產文件夾中存儲的數據文件與存儲在res/raw文件夾中的數據文件之間的區別。我的目標是將數據文件存儲在應用程序目錄結構中(在這種情況下)存儲測試成績,可以訪問它們,然後修改它們。這是我的理解,我需要使用ASSET而不是RAW文件。使用存儲在資產文件夾中的文本文件
當文本文件存儲在RES/RAW文件夾中時,我設法將文本文件中的數據加載到數組中,但現在我無法使用ASSET文件工作。我認爲這與使用AssetManager.open一樣簡單。
最終我的一個問題就是這個。如何讀取和寫入ASSET文件夾中的文本文件?
這裏是我的代碼:
public class MainActivity extends AppCompatActivity {
String[][] testScoreList = new String[3][3];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Load test scores into arraylist
nameArrayListMethod();
}
//This method loads test scores into an array
public void nameArrayListMethod(){
InputStreamReader InputSR = null;
BufferedReader BufferedRdr = null;
String thisLine = null;
AssetManager am = getAssets();
InputSR = new InputStreamReader(am.open("test_scores.txt"));
BufferedRdr = new BufferedReader(InputSR);
try {
// open input stream test_scores for reading purpose.
int i = 0;
while ((thisLine = BufferedRdr.readLine()) != null) {
// System.out.println(thisLine);
String[] parts = thisLine.split(" ");
testScoreList[i][0] = parts[0];
testScoreList[i][1] = parts[1];
i = i +1;
}
} catch (Exception e) {
e.printStackTrace();
}
我得到的(am.open("test_scores.txt"))
線的Unhandled exception: java.io.IOException
eror。
乾杯的輸入
它爲什麼會拋出異常?文件test_scores.txt確實存在。你的解決方案的方式,但我不明白爲什麼。 – Airfix
它不會拋出異常,但它可能是由於無法預料的事情。閱讀和寫作東西是更冒險的事情之一。與服務器交談時,情況變得更糟...... – Flummox