私のSQLiteデータベースにCSVファイルを読み込もうとしています。私は現在、メソッドを実行するためにボタンを使用しています。どこに呼び出すのかわからないため、アプリケーションの起動時にデータをロードします。私が起動画面の作成時にそれを呼び出すと、問題があります。Android CSVのインポートに関する問題
これはエラーです。
によって引き起こさ:java.io.FileNotFoundException:C:/ユーザー/ b00619342 /ダウンロード/ VegT(DBCodedNeedPreSetD)/app/src/main/assets/brekfasttable.csv:オープンに失敗しました:ENOENT(そのようなファイルやディレクトリ)
HERESにコード
public void brekCSV() throws IOException {
String[] row = null;
//need to change when the project is moved to a new location
String csvBrek = "C:/Users/b00619342/Downloads/VegT(DBCodedNeedPreSetD)/app/src/main/assets/brekfasttable.csv";
SQLiteDatabase db = getWritableDatabase();
BufferedReader br = new BufferedReader(new FileReader(csvBrek));
String line;
while ((line = br.readLine()) != null) {
String[] tokens = line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)", -1);
db.execSQL("INSERT INTO " + TABLE_BREK +
"VALUES(" + tokens[0] + "," + tokens[1] + "," + tokens[2] + "," + tokens[3] + "," + tokens[4] + "," + tokens[5] + "," + tokens[6] + ")");
}
db.close();
}//end of brekCSV
私は現在のAndroid Studioのエミュレータを使用しています申し訳ありません! – Andrew
エミュレートされたデバイスはまだWindowsデスクトップPCではありません。エミュレータは、実際のデバイスのハードウェア全体を模倣し、Androidオペレーティングシステムを実行します。エミュレータをホストしているWindowsシステムを認識していません。これは、ハードウェアを支払う必要なく、実際のデバイスのようになることを意図しています。 – dsh
['adb push'](https://developer.android.com/tools/help/adb.html)を使って、ファイルをWindowsシステムから(エミュレートされた)デバイスのsdcardにコピーすることができます。 – dsh