读取 DropBox 文本文件
Reading a DropBox Text File
我有一个 android 应用程序可以将图像和文本文件加载到 Dropbox 中。我已经弄清楚了身份验证和上传过程。
现在,使用同一个经过身份验证的会话,我想读取其中一个上传的文本文件(以查找更改)。我找到了一个下载示例,但这意味着将其写入本地 SD,然后在那里读取……效率不高(部分原因是需要额外的 android 许可)。
我检查过 Dropbox's v2 documentation and there do seem to be a bunch of read calls but I can't, for the life of me, figure out how to use them. The helpful Android-Dropbox examples 似乎也没有解决我的具体问题。我在 Whosebug 上也找不到任何 v2 示例。
当然,有人可以向我指出一个简单的示例,它提供了一个很好的 InputStream。
经过大量工具开发后,这里有一些有用的东西
String my_link = null;
URL my_url = null;
URLConnection conn = null;
BufferedReader reader = null;
try {
my_link = my_DbxClient.files().getTemporaryLink("/" + my_File).getLink();
my_url = new URL (my_link);
conn = my_url.openConnection();
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} catch (DbxException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
您可以使用 the Dropbox Java SDK download
method to get file contents directly. There's an example of using that in the example app here。该示例直接写入 FileOutputStream
.
听起来你只是想要一个 InputStream
,看起来像这样:
DbxClientV2 client = new DbxClientV2(config, ACCESS_TOKEN);
String remotePath = "/test.txt"; // the path to the file you want to download
InputStream fileInputStream = null;
try {
fileInputStream = client.files().download(remotePath).getInputStream();
// use `fileInputStream` as desired
} catch (DbxException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
我有一个 android 应用程序可以将图像和文本文件加载到 Dropbox 中。我已经弄清楚了身份验证和上传过程。
现在,使用同一个经过身份验证的会话,我想读取其中一个上传的文本文件(以查找更改)。我找到了一个下载示例,但这意味着将其写入本地 SD,然后在那里读取……效率不高(部分原因是需要额外的 android 许可)。
我检查过 Dropbox's v2 documentation and there do seem to be a bunch of read calls but I can't, for the life of me, figure out how to use them. The helpful Android-Dropbox examples 似乎也没有解决我的具体问题。我在 Whosebug 上也找不到任何 v2 示例。
当然,有人可以向我指出一个简单的示例,它提供了一个很好的 InputStream。
经过大量工具开发后,这里有一些有用的东西
String my_link = null;
URL my_url = null;
URLConnection conn = null;
BufferedReader reader = null;
try {
my_link = my_DbxClient.files().getTemporaryLink("/" + my_File).getLink();
my_url = new URL (my_link);
conn = my_url.openConnection();
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} catch (DbxException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
您可以使用 the Dropbox Java SDK download
method to get file contents directly. There's an example of using that in the example app here。该示例直接写入 FileOutputStream
.
听起来你只是想要一个 InputStream
,看起来像这样:
DbxClientV2 client = new DbxClientV2(config, ACCESS_TOKEN);
String remotePath = "/test.txt"; // the path to the file you want to download
InputStream fileInputStream = null;
try {
fileInputStream = client.files().download(remotePath).getInputStream();
// use `fileInputStream` as desired
} catch (DbxException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}