ファイルを選択するファイルブラウザをユーザに与えています。 onActivityResultで私はファイルパスを/file/sdcard/Android/data/com.coca_cola.android.conferenceapp/cache/Conference/export.txtとして取得しています。これでファイルオブジェクトを作成しようとすると、私は作成できません。私は/ファイルを削除/ sdcard/Android/data/com.coca_cola.android.conferenceapp/cache/Conference/export.txt上のファイルオブジェクトを作成するときに作成されます。しかし、他のデバイスと同じようにファイルパスを/ファイル/から削除することはできません。以下のコードファイルオブジェクトが作成されていません
private void readContactFromFile(String path) {
StringBuilder text = new StringBuilder();
try {
String st = "/file/sdcard/Android/data/com.coca_cola.android.conferenceapp/cache/Conference/export.txt";
File file = new File(st);
if (file.exists()) {
Log.v("TTT", "file exist");
}
Log.v("TTT", file.toString());
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
text.append(line);
Log.i("Test", "text : " + text + " : end");
text.append('\n');
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
であると私はOnActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch (requestCode) {
case REQUEST_PICK_FILE:
Uri uri = data.getData();
String path = data.getData().getPath();
Log.v("PATH", path);
readContactFromFile(path);
break;
}
}
}
上のパスを取得していますそして私は、私は完璧なパスを取得できますかファイルブラウザ
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*"); //all files
//intent.setType("text/xml"); //XML file only
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(Intent.createChooser(intent, "Select a File to Upload"), REQUEST_PICK_FILE);
} catch (android.content.ActivityNotFoundException ex) {
// Potentially direct the user to the Market with a Dialog
Toast.makeText(this, "Please install a File Manager.", Toast.LENGTH_SHORT).show();
}
を開くために呼び出していますどのようにこれがありますまたはこの問題をどのように削除できますか? ありがとうございます
あなたの質問を編集して、このonActivityResult()呼び出しをトリガーしている 'startActivityForResult()'呼び出しを投稿してください。 – CommonsWare
しました。チェックインしてください –