`
firewings
  • 浏览: 45832 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 单HTTP链接多文件下载

 
阅读更多

public static void main(String[] args) {
		System.out.println(System.currentTimeMillis());
		for (int i = 1; i < 2; i++) {
			int nRead = 0;
			String j = "";
			if (i < 10)
				j = "00" + i;
			else if (i < 100)
				j = "0" + i;
			String sPath = sURL.replace("xxx", j);
			// String sName = sPath.substring(sURL.lastIndexOf("/") + 1, sPath.lastIndexOf("?"));
			try {
				URL url = new URL(sPath);
				// URL url = new URL(sPath + "&" + System.currentTimeMillis());
				HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
				httpConnection.setRequestProperty("User-Agent", "Internet Explorer");
				httpConnection.connect();
				InputStream input = httpConnection.getInputStream();
				byte[] b = new byte[1024];
				RandomAccessFile file = getRandomFile();
				// 读取网络文件,写入指定的文件中
				while ((nRead = input.read(b)) != -1) {
					String msg = new String(b, 0, nRead, "iso-8859-1");
					// System.out.println(msg);
					if (buffer.length() > 0) {
						msg = buffer.toString() + msg;
						buffer.delete(0, buffer.length());
					}
					int pos = msg.indexOf("<!--next-->");
					boolean next = pos != -1;
					int pos_harf = msg.indexOf("<");
					boolean harf = (msg.length() - pos_harf) < 11 && pos_harf != -1;
					if (!next && !harf) {
						file.write(msg.getBytes("iso-8859-1"));
					} else if (!next && harf) {
						buffer.append(msg);
						continue;
					} else if (next) {
						file.write(msg.substring(0, pos).getBytes());
						file.close();
						buffer.append(msg.substring(pos + 11));
						file = getRandomFile();
						continue;
					}
				}
				httpConnection.disconnect();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		System.out.println(System.currentTimeMillis());
	}

	static synchronized RandomAccessFile getRandomFile() {
		try {
			return new RandomAccessFile("D:\\Android\\LeClient\\bin\\" + System.currentTimeMillis() + ".jpg", "rw");

		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
 
分享到:
评论

相关推荐

    Android 多文件下载进度条

    在Android开发中,实现多文件下载并展示进度条是一项常见的需求。这涉及到网络编程、线程管理、数据存储以及UI更新等多个方面的知识。下面将详细解释如何在Android中实现这一功能。 1. **网络编程**:Android中进行...

    Android 经典蓝牙连接,多台蓝牙设备同时连接,全站仪连接

    在Android平台上,实现蓝牙连接是一项常见的任务,尤其在与物联网设备如全站仪进行通信时。本项目聚焦于创建一个能够处理多台蓝牙设备同时连接的功能,为用户提供灵活且高效的数据交互体验。以下是对这个Android蓝牙...

    Android利用Http下载文件

    在Android平台上,利用...综上所述,Android利用Http下载文件涉及到网络请求、多线程、文件操作等多个环节,需要合理设计和优化以保证稳定性和用户体验。通过学习和实践,我们可以掌握这些技能,构建自己的下载管理器。

    Android通过webservice连接Sqlserver实例

    总的来说,Android通过WebService连接SQLServer涉及到Android网络编程、服务器开发、数据库操作等多个方面,需要对这些技术有深入理解和实践经验。通过学习和实践,开发者可以创建出高效、稳定且安全的数据交互应用...

    Android单线程文件下载Demo

    2. **URL和HttpURLConnection**: 文件下载通常涉及到网络通信,`java.net.URL`类用于创建与指定资源的连接,而`HttpURLConnection`是Java提供的HTTP客户端API,用于打开到URL的连接并进行读写操作。在下载过程中,会...

    android下载word文档并打开

    在Android平台上,开发一个应用程序以实现下载Word文档并顺利打开是一项常见的需求。下面将详细讲解这一过程中的关键知识点,以及如何结合给定的资源进行操作。 1. **Android权限管理**: 在Android中,访问网络和...

    Android开发 连接对接多个通用USB转串口源码实案例

    在Android开发中,连接并对接多个通用USB转串口设备是一项重要的技能,特别是在物联网(IoT)和嵌入式系统应用中。这个案例提供了一种方法来实现Android设备与多个串口设备之间的通信,这对于数据交换和设备控制是至关...

    Android TCP文件下载

    在Android开发中,TCP文件下载是一项常见的任务,它涉及到网络通信、多线程处理以及文件操作等技术。本文将详细讲解如何实现一个Android应用,利用TCP协议从PC服务器下载文件到Android设备。 首先,理解TCP...

    Android获取实时连接热点的设备IP

    "Android获取实时连接热点的设备IP" Android获取实时连接热点的设备IP是指在Android系统中获取当前热点连接的设备IP地址的相关技术。主要涉及到Android系统中获取Wifi热点设备的Ip地址的代码实现。 知识点一:/...

    android 单线程 多线程下载

    本文主要探讨的是如何在Android平台上实现单线程和多线程下载,这是一项重要的技术,尤其在处理大文件或者需要后台持续运行的任务时。我们将从源码分析、工具应用等方面进行详细讲解。 首先,我们了解下Android中的...

    android 下载网络文件

    在Android平台上,下载网络文件是一项常见的任务,尤其对于开发者来说,了解如何实现这一功能是至关重要的。本示例,"android 下载网络文件",旨在为初学者提供一个基础的下载教程,帮助他们掌握基本的文件下载技术...

    android通过Service进行文件下载,后台下载

    总结,通过Service实现Android后台文件下载涉及多个步骤,包括Service的创建、下载逻辑实现、进度监控、通知创建以及权限管理。理解这些概念并正确实施,将有助于构建稳定、高效的后台下载功能。

    Java / Android 基于Http的多线程下载的实现

    在Android和Java应用开发中,基于Http的多线程下载是一项关键的技术,它能显著提升大文件下载的效率,减少用户等待时间,并充分利用设备的计算能力。本篇将深入探讨如何实现这一功能。 首先,我们需要理解多线程...

    Android多线程文件夹下载及断点续传

    在Android开发中,进行大文件下载时,为了提高效率并充分利用设备资源,通常会采用多线程下载技术。此外,为了提升用户体验,断点续传功能也显得尤为重要,尤其是在网络不稳定或者用户中断下载后,可以从上次停止的...

    Android端USB连接示例

    在Android平台上,USB连接功能...总之,Android端USB连接涉及到多个步骤和类的交互,理解并实践这些知识点是开发USB相关应用的基础。通过不断的实践和调试,开发者可以熟练掌握这一技术,实现与各种USB设备的有效通信。

    Android apk下载文件的url链接,并且可以判断网络是否连接

    在Android开发中,APK文件的下载和安装是常见的需求,尤其当用户需要从非Google Play商店获取应用时。本文将深入探讨如何实现"Android APK下载文件的URL链接"以及如何判断网络状态。 首先,我们需要了解`Handler`...

    Android使用ftp方式实现文件上传和下载

    在 Android 中,FTP 客户端的实现需要使用到 FTPToolkit 类,该类提供了创建 FTP 连接、上传文件、下载文件、删除文件等功能。 ```java public class DownLoad { private FTPClient ftpClient; public void ...

    androidwifi自动连接

    在Android系统中,实现WiFi自动连接功能涉及到多个关键知识点,包括Android系统的权限管理、WiFi服务的使用、BroadcastReceiver监听以及用户界面的交互等。以下将详细介绍这些内容。 首先,要实现WiFi自动连接,...

    Android 远程连接mysql 驱动 8.0.29

    2. **处理权限**:由于Android应用需要通过网络连接到MySQL服务器,所以需要在AndroidManifest.xml文件中添加INTERNET权限: ```xml &lt;uses-permission android:name="android.permission.INTERNET" /&gt; ``` 3. **...

    Android 下载文件Demo

    在Android开发中,下载文件是一项常见的任务,尤其在构建应用时需要从服务器获取资源或更新数据。本"Android 下载文件Demo"旨在演示如何利用字节流进行文件下载操作。在Java和Android中,输入输出流(IO流)是处理...

Global site tag (gtag.js) - Google Analytics