我对PDF文件感到困惑
来源:爱站网时间:2021-09-16编辑:网友分享
如果我用这种方式在PDF周围编写代码,则说这是无效的,无法打开,但是如果我将它们交换并在A之前加上B,则可以正常工作吗?这是为什么?要使其正常工作,我该怎么办? TIA ...
问题描述
如果我用这种方式在PDF周围编写代码,则说这是无效的,无法打开,但是如果我将它们交换并在A之前加上B,则可以正常工作吗?这是为什么?要使其正常工作,我该怎么办? TIA
InputStream in = new BufferedInputStream(conn.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//A
String line = "";
StringBuilder builder = new StringBuilder();
try {
while ((line = reader.readLine()) != null) {
builder.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
//B
File directory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File outputFile = new File(directory, "goo.pdf");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(outputFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
byte[] buffer = new byte[1024];
int len1 = 0;//init length
while (true) {
try {
if (!((len1 = in.read(buffer)) != -1)) break;
} catch (IOException e) {
e.printStackTrace();
}
try {
fos.write(buffer, 0, len1);
} catch (IOException e) {
e.printStackTrace();
}
}
思路:
您只能读取一次InputStream。在“ A”中,读取流并将其内容放入StringBuilder中。在“ B”中,读取流(现在为空)并将其通过管道传输到文件。
只需删除A,因为这里没有为您做任何事情。