0

我正在使用 Dropbox api,我想在 Dropbox 上上传一个文件。Dropbox 中将有一个同名文件需要被覆盖。

我试过这段代码来找到文件profiles.txt,然后上传它,但我总是找不到文件。

// create the file
FileOutputStream file = openFileOutput("profiles.txt", MODE_WORLD_READABLE);
// download the contents from the online file into the newly created file
DropboxFileInfo info = mDBApi.getFile("/profiles.txt", null, file, null);
// close the file
file.flush();
file.close();

// read the file
FileInputStream fstream = openFileInput("profiles.txt");
InputStreamReader isr = new InputStreamReader(fstream);
char[] inputBuffer = new char[7];
isr.read(inputBuffer);
String readString = (new String(inputBuffer)).trim();
int id = Integer.parseInt(readString);

// record your id
SharedPreferences mySharedPreferences = getSharedPreferences("User_info_file", MODE_PRIVATE);
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString("TEXT_ID_KEY", readString);
editor.commit();

// create the new file with the new id
file = openFileOutput("profiles.txt", MODE_WORLD_READABLE);
OutputStreamWriter osw = new OutputStreamWriter(file);
osw.write(String.format("%d", id+1));
osw.flush();
osw.close();

File file2 = new File("profiles.txt");
String ab_path = (Tab_User_InfoActivity.this).getCacheDir().getAbsolutePath() + File.separator + "profiles.txt";
FileInputStream inputStream = new FileInputStream(ab_path); // CRASH HERE
Entry newEntry = mDBApi.putFile("profiles.txt", inputStream, file2.length(), null, null);

但我不断收到未找到文件的异常。谁能告诉我我做错了什么?

4

1 回答 1

0

您实际上可能需要为您的应用程序指定缓存路径,以确保文件位于您可以访问的位置,即:基于此设置文件名:

context.getCacheDir().getAbsolutePath() + File.separator + "profiles.txt"
于 2012-08-06T21:19:15.063 回答