Tag: 下载

java如何在下载过程中显示有关带宽速度的用户友好格式化输出

想要在下载期间显示有关带宽速度的格式良好的输出 感谢@Tomasz Nurkiewicz,我在下面有这个计算 我下载文件时每秒超级* 字节 *。 long start = System.nanoTime(); long totalRead = 0; final double NANOS_PER_SECOND = 1000000000.0; final double BYTES_PER_MIB = 1024 * 1024; while ((val = bis.read(buffer, 0, 1024)) > 0) { //… totalRead += val; double speed = NANOS_PER_SECOND / BYTES_PER_MIB * totalRead / (System.nanoTime() – start + 1) } 希望它是这样的。 […]

使用下载过程连接JProgressBar

我有以下代码。 我不能让它发挥作用。 我必须提到URL是重定向的。 我的意思是url = http://www.thissite.com并重定向到http://www.othersite.com 。 但是我想用初始url来实现它。 public void download(String address, String localFileName, JProgressBar progress ) { OutputStream out = null; URLConnection conn = null; InputStream in = null; try { URL url = new URL(address); // Open an output stream to the destination file on our local filesystem out = new BufferedOutputStream(new FileOutputStream(“/MusicDownloads/”+localFileName)); […]

Android使用Multi thread更快地下载文件

我正在开发一款需要下载大video文件(300-500MB)的应用。 我想知道是否有办法加速使用multithreading下载单个文件。 我在TubeMate这样的应用程序上看到过这种类型的实现,但我对用于实现它的代码一无所知。 我不需要你为我编码:)我只需要一个起点,就像关于这个的文章或教程,tks。

Android:下载HTML并不总是有效

在我的应用程序中,我使用以下代码下载网站的HTML样式表: private DefaultHttpClient createHttpClient() { HttpParams my_httpParams = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(my_httpParams, 3000); SchemeRegistry registry = new SchemeRegistry(); registry.register(new Scheme(“http”, PlainSocketFactory.getSocketFactory(), 80)); ThreadSafeClientConnManager multiThreadedConnectionManager = new ThreadSafeClientConnManager(my_httpParams, registry); DefaultHttpClient httpclient = new DefaultHttpClient(multiThreadedConnectionManager, my_httpParams); return httpclient; } private class Example extends AsyncTask { int mStatusCode = 0; String content = “”; @Override protected Void doInBackground(Void… args) […]

java.lang.OutOfMemoryError:从URL下载大文件时的Java堆空间

我想从URL下载文件。 文件大小为564.31MB。 我不知道这里发生了什么错误。 此外,我想知道我的代码是否是从URL下载文件的正确方法。 如果有更好的方法,请详细告诉我为什么它比这更好。 谢谢。 import org.apache.commons.io.FilenameUtils; import java.io.*; import java.net.MalformedURLException; import java.net.URL; /** * Created by lukas on 6/30/16. */ public class Main { public static void main(String[] args){ try { String link = “https://s.basketbuild.com/uploads/devs/dianlujitao/oneplus3/cm13/cm-13.0-20160621-UNOFFICIAL-oneplus3.zip”; URL url = new URL(link); InputStream inputStream = new BufferedInputStream(url.openStream()); ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); int n=0; byte[] […]

Android应用程序永远下载Web内容为字符串(WaitForGcToComplete阻止xx.xxxms导致HeapTrim?)

我是Android开发的新手,我正在尝试创建一个应用程序,只需将给定网页的源代码作为字符串下载并将其显示在日志中。 我有它工作,对于google.com,它的工作相当快。 然而,对于我想要的网页,即使我的计算机的网络浏览器只需几秒钟就可以加载它,它需要十分钟。 在这八分钟内,日志中反复显示四条消息,其值不同。 他们是: W / art:暂停所有线程:x.xxxm I / art:后台stcky并发标记扫描GC释放xx(xxxxB)AllocSpace对象…… I / art:后台部分并发标记扫描GC释放xx(xxxxB)AllocSpace对象…… I / art:WaitForGcToComplete因xx.xxxms而被阻止,原因是HeapTrip 有人可以解释一下发生了什么,以及我如何能够更快地下载这些内容? 这是某种内存问题吗? 我需要使用某种类型的BufferedReader吗? 记录消息: 码:

从Java下载HTTPS URL中的图像

我必须做一个显示药物包装图像的应用程序。 我发现这个网站有一些,但我试图用Java中的一个小程序下载可用的图像但是失败了。 我认为HTTPS会导致问题。 有办法吗? 编辑:代码和错误 public class DescargarArchivo { public static void main(String[] args) { String url = “http://sofzh.miximages.com/java/visorCaratulas.aspxcod=672629; String name = test.jpg”; String folder = “downloads/”; File dir = new File(folder); if (!dir.exists()) if (!dir.mkdir()) return; File file = new File(folder + name); try { URLConnection conn = new URL(url).openConnection(); conn.connect(); System.out.println(“\ndownload: \n”); System.out.println(“>> […]

如何通过HTTP下载文件并将其内容存储在Java中的String中

我试图通过HTTP下载文件并将其内容存储在String中,如标题所示。 我的方法是: URL u = new URL(“http://url/file.txt”); ByteArrayBuffer baf = new ByteArrayBuffer(32); InputStream in = (InputStream) u.getContent(); BufferedInputStream bis = new BufferedInputStream(in); int buffer; while((buffer = bis.read()) != -1){ baf.append((byte)buffer); } bis.close(); in.close(); 尝试从流中读取时,代码失败,报告流已关闭。 现在,如果您尝试通过浏览器访问该文件,它将不会作为文本提供,而是作为要下载的文件提供。 我没有在网上搜索这个,所以一点点见解将非常感激! 谢谢。

如何在Android编程中暂停/恢复下载?

我真的想使用android.app.DownloadManager类,我也想在我的Android应用程序中添加Pause / Resumefunction。 谷歌在开发者指南上说: 下载管理器(android.app.DownloadManager)将在后台进行下载,负责HTTP交互并在失败后或跨连接更改和系统重新启动时重试下载 。 我想我们可以在没有编写新的下载管理器的情况下为此类添加暂停/恢复function,例如: DownloadProvider 有谁能够帮我 ?

将文件下载到客户端系统中的特定位置

下面是我写的代码我要下载文件,现在我需要将文件下载到客户端系统中的特定位置。我将通过用户的输入获取路径。 我知道混淆客户端系统并不好,但我必须这样做 //setting the content type of response response.setContentType(“application/”+strFileType); response.setHeader(“content-disposition”,”attachment; filename=”+strFileName+”.”+strFileType); //creating a file input stream object InputStream input = blob.getBinaryStream(); //declaring a variable int i; while((i=input.read())!=-1) { //writing output printWriter.write(i); } //closing the streams input.close(); printWriter.close();