android 网络文件上传下载工具类总结

1、获取文件的最后修改时间

	@SuppressLint("SimpleDateFormat")
	public String getFileDataTime(File file) {
		Date date = new Date(file.lastModified());
		SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 24小时制
		String LgTime = sdformat.format(date);
		return LgTime;
	}

2、比较两个时间的大小

	@SuppressLint("SimpleDateFormat")
	public int compareDataTime(String date1, String date2) {
		java.text.DateFormat df = new java.text.SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		java.util.Calendar c1 = java.util.Calendar.getInstance();
		java.util.Calendar c2 = java.util.Calendar.getInstance();
		try {
			c1.setTime(df.parse(date1));
			c2.setTime(df.parse(date2));
		} catch (java.text.ParseException e) {
			System.err.println("error");
		}
		int result = c1.compareTo(c2);
		if (result == 0)
			System.out.println("c1==c2");
		else if (result < 0)
			System.out.println("c1<c2");
		else
			System.out.println("c1>c2");

		return result;
	}

3、两个string数组比较,找出第二个数组与第一个数组不同的数据

	public String[] compareStringPre(String[] Source, String[] Object) {
		String[] result;
		if (Source.length >= Object.length) {
			result = new String[Source.length];
		} else {
			result = new String[Object.length];
		}
		int n = 0;
		for (int i = 0; i < Object.length; i++) {
			boolean flag = false;
			for (int j = 0; j < Source.length; j++) {
				if (Object[i].equals(Source[j])) {
					flag = true;
				}
			}
			if (!flag) {
				result[n] = Object[i];
				n++;
			}
		}
		return result;
	}

4、保存txt缓存文件

	private boolean saveCrash(String crash) {
		String fileName = "cache.txt";
		try {
			File file = new File(mstrFilePath, fileName);
			FileOutputStream fos = new FileOutputStream(file);
			fos.write(crash.toString().getBytes());
			fos.close();
		} catch (Exception e) {
			return false;
		}
		return true;
	}

5、读取txt读取缓存文件

	public String readCrashData() {
		String strDataLine = "";
		String filePath = mstrFilePath + "/cache.txt";
		File file = new File(filePath);
		if (file.exists() == false)
			return strDataLine;
		long fileSize = file.length();
		// 文件大于1M, 认为是无效数据, 直接删除
		if (fileSize >= 1 * 1024 * 1024) {
			file.delete();
			return strDataLine;
		}
		if (file.canRead() == false)
			return strDataLine;
		try {
			FileInputStream in = new FileInputStream(file);
			BufferedReader reader = new BufferedReader(
					new InputStreamReader(in));
			strDataLine = reader.readLine();
			reader.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return strDataLine;
		} catch (IOException e) {
			e.printStackTrace();
			return strDataLine;
		}
		return strDataLine;
	}

缓存文件存储在sd卡,记得manifest加权限。。

在上一篇中讲了android 文件android 使用AsyncHttpClient框架上传文件以及使用HttpURLConnection下载文件

时间: 2024-08-01 22:42:41

android 网络文件上传下载工具类总结的相关文章

FTP 上传下载工具类

import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.SocketException; import o

java ftp 上传下载工具类

1 package com.mohecun.utils; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStream; 9 import java.io.OutputStre

验证码确保php无输出、sql语句的封装性、文件上传的工具类【这三个重点工具类实现】

1.php代码在引入中不会进行结束或者确保结束之后没有空格,来保证php在被包含中没有被输出[防止header和session_start()对输出的控制]实质上,需要注意的就是,要不就进行输出缓存控制以及php开始标签前没有空格 验证码这个功能需要header和session两个功能[尤其需要注意输出的问题] [总结:防止php代码中带着一些输出的问题](1)在php标签中开始<?php 前顶格(2)php结束符要不不写,写了就不要在结束之后还有换行[防止该文件被包含之后提前出线输出](3)或

高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)

前言 最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种. 第一种是单例模式的类. 第二种是另外定义一个Service,直接通过Service来实现ftp的上传下载. 这两种感觉都有利弊. 第一种实现了代码复用,但是配置信息全需要写在类中,维护比较复杂. 第二种如果是spring框架,可以通过propertis文件,动态的注入配置信息,但是又不能代码复用. 所以我打算自己实现一个工具类,来把上面的两种优点进行整合.顺便把一些上传过程中一些常见的问题也给解

JavaWeb 后端 &lt;十四&gt; 文件上传下载

1.文件上传与下载 案例: 注册表单/保存商品等相关模块! --à 注册选择头像 / 商品图片 (数据库:存储图片路径 / 图片保存到服务器中指定的目录) 1.1 文件上传 文件上传,要点: 前台: 1. 提交方式:post 2. 表单中有文件上传的表单项: <input type=”file” /> 3. 指定表单类型: 默认类型:enctype="application/x-www-form-urlencoded" 文件上传类型:enctype =”multipart/

28、java文件上传下载、邮件收发

文件上传下载 前台: 1. 提交方式:post 2. 表单中有文件上传的表单项: <input type="file" /> 3. 指定表单类型: 默认类型:enctype="application/x-www-form-urlencoded" 文件上传类型:multipart/form-data FileUpload 文件上传功能开发中比较常用,apache也提供了文件上传组件! FileUpload组件: 1. 下载源码 2. 项目中引入jar文件

JavaWeb文件上传下载,使用fileupload组件

一.引入jar包 1. commons-fileupload-1.2.1.jar 2. commons-io-1.4.jar 二.文件上传 1. html代码 1 <form name="upload_test" action="${pageContext.request.contextPath}/FileServlet?method=upload" method="post" enctype="multipart/form-da

Android与Asp.Net Web服务器的文件上传下载BUG汇总【更新】

遇到的问题: 1.java.io.IOException: open failed: EINVAL (Invalid argument)异常,在模拟器中的sd卡创建文件夹和文件时报错 出错原因可能是:(1)文件名称中含有不符合规范的字符,比如“:”,“?”或者空格等.(2)需要先创建文件夹目录再创建文件,不能直接创建文件. 2. android.os.NetworkOnMainThreadException异常,从服务器请求数据后,写入文件时报错 出错原因:在主线程内执行了访问http的操作,最

NSURLSession(Get &amp; Post,JSON、XML数据解析,文件上传下载)

NSURLSession(Get & Post,JSON.XML数据解析,文件上传下载) 一.NSURLSession概述 NSURLSession是iOS7中新的网络接口,支持后台网络操作,除非用户强行关闭. NSURLSession使用步骤: 1. 新建NSURLSessionConfiguration,用于NSURLSession的配置 2. 新建NSURLSession 3. 新建NSURLSessionTask对象 4. 执行task 其中NSURLSessionConfigurati