
android开发中,使用到了文件下载并写入到SD卡中,但是每次下载到的文件都不完整。 200
下载代码如下:publicFilewriteToSDFromInput(Stringpath,StringfileName,InputStreaminputStream)...
下载代码如下:
public File writeToSDFromInput(String path, String fileName,
InputStream inputStream) {
File file = null;
OutputStream outputStream = null;
createSDDir(path);
try {
file = createFileInSDCard(fileName, path);
outputStream = new FileOutputStream(file);
byte buffer[] = new byte[4 * 1024];
int temp;
while ((temp = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, temp);
}
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}
黑色为下载到的文件信息,白色的为实际文件,可以看到文件大小不一样
日志当中用蓝色字体提示:request time failed: java.net.SocketException: Address family not supported ,但应用程序并没报错,仍然正常运行 展开
public File writeToSDFromInput(String path, String fileName,
InputStream inputStream) {
File file = null;
OutputStream outputStream = null;
createSDDir(path);
try {
file = createFileInSDCard(fileName, path);
outputStream = new FileOutputStream(file);
byte buffer[] = new byte[4 * 1024];
int temp;
while ((temp = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, temp);
}
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
}
黑色为下载到的文件信息,白色的为实际文件,可以看到文件大小不一样
日志当中用蓝色字体提示:request time failed: java.net.SocketException: Address family not supported ,但应用程序并没报错,仍然正常运行 展开
4个回答
展开全部
public File writeToSDFromInput(String path, String fileName,
InputStream inputStream) {
File file = null;
OutputStream outputStream = null;
createSDDir(path);
try {
file = createFileInSDCard(fileName, path);
outputStream = new FileOutputStream(file);
byte buffer[] = new byte[4 * 1024];
int temp;
while ((temp = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, temp);
}
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
InputStream inputStream) {
File file = null;
OutputStream outputStream = null;
createSDDir(path);
try {
file = createFileInSDCard(fileName, path);
outputStream = new FileOutputStream(file);
byte buffer[] = new byte[4 * 1024];
int temp;
while ((temp = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, temp);
}
outputStream.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return file;
展开全部
file = createFileInSDCard(fileName, path);
outputStream = new FileOutputStream(file);
byte buffer[] = new byte[4 * 1024];
int temp;
while ((temp = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, temp);
}
outputStream.flush();
} catch (IOException e) {
outputStream = new FileOutputStream(file);
byte buffer[] = new byte[4 * 1024];
int temp;
while ((temp = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, temp);
}
outputStream.flush();
} catch (IOException e) {
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刚好遇到,我来回答,请给我点赞。
不谢。
byte buffer [] = new byte[4 * 1024];
// while((input.read(buffer)) != -1){
// output.write(buffer);
// }
int length;
while((length=(input.read(buffer))) >0){
output.write(buffer,0,length);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你解决了吗?我的代码跟你的基本一样,也是下载不完整
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |