assetsフォルダに保存されているデータファイルとres/rawフォルダに保存されているデータファイルの違いを理解しようとしています。私の目標は、(この場合は)テストスコアが格納されているアプリケーションディレクトリ構造にデータファイルを格納し、アクセスして変更できるようにすることです。 RAWファイルの代わりにASSETを使う必要があるのは私の理解です。ASSETSフォルダに保存されているテキストファイルを使用してください。
テキストファイルがRES/RAWフォルダに格納されているときに、テキストファイルからデータをロードすることができましたが、ASSETファイルを使用しているので、動作させることができません。 AssetManager.openを使うのと同じくらい簡単だと思いました。
最終的に私の1つの質問はこれです。 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