gpt4 book ai didi

java - 文本文件正在从网上下载,但 ePub/Pdf 有问题

转载 作者:行者123 更新时间:2023-11-29 22:02:43 30 4
gpt4 key购买 nike

我指的是从特定 URL 下载文件的以下代码。

public class FileFromServerExample extends Activity {

static String PACKAGE_NAME;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PACKAGE_NAME = getApplicationContext().getPackageName();

File folder = new File("/data/data/"
+ FileFromServerExample.PACKAGE_NAME + "/ePub/");
boolean created = folder.isDirectory();
if (!created) {
folder.mkdir();
}

File file = new File(folder, "Sample.epub");
try {
file.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
Downloader
.DownloadFile(
"http://www.google.co.in/url?sa=t&rct=j&q=sample%20epub%20filetype%3Aepub&source=web&cd=2&ved=0CFMQFjAB&url=http%3A%2F%2Fdl.dropbox.com%2Fu%2F1177388%2Fflagship_july_4_2010_flying_island_press.epub&ei=i5gHUIOWJI3RrQeGro3YAg&usg=AFQjCNFPKsV-tieF4vKv7BXYmS-QEvd7Uw",
file);
}
}

Downloader.java

public class Downloader {

public static void DownloadFile(String fileURL, File directory) {
try {

FileOutputStream f = new FileOutputStream(directory);
URL u = new URL(fileURL);
HttpURLConnection c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();

InputStream in = c.getInputStream();

byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = in.read(buffer)) > 0) {
f.write(buffer, 0, len1);
}
f.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

我得到 Sample.epub在所需位置。
但是当我尝试打开该文件时,我收到一条错误消息,指出不是有效的 zip 文件

我尝试了各种 URL,使用 Pdf而不是 ePub (它给出了文件损坏错误),但同样的问题仍然存在。

但是,当我尝试从 this sample link 下载一个简单的文本文件时, 它工作正常。

所以根据常识,似乎 this URL 下载ePub可能坏了,但事实并非如此,因为我成功下载了 ePub如果我从我的 PC 浏览器访问链接。
然而,当我尝试下载 ePub从 android 应用程序中的此链接,它不起作用。

知道我哪里出错了吗?任何帮助表示赞赏。

最佳答案

这是因为您没有指向直接网址。相反,在浏览器中,谷歌重定向到原始网址。在您的情况下,原始链接是:

http://dl.dropbox.com/u/1177388/flagship_july_4_2010_flying_island_press.epub

如果您尝试下载此直接 url,您将成功。

关于java - 文本文件正在从网上下载,但 ePub/Pdf 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11556910/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com