Android Network File upload and download tool class Summary
1. Get the last modification time of the file
@ SuppressLint ("SimpleDateFormat") public String getFileDataTime (File file) {Date date Date = new Date (file. lastModified (); SimpleDateFormat sdformat = new SimpleDateFormat ("yyyy-MM-dd HH: mm: ss"); // String LgTime = sdformat in 24-hour format. format (date); return LgTime ;}
2. Compare the two time ranges
@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");return result;}
3. Compare two string arrays to find the data of the second array and the first array.
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. Save the txt cache file
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. Read txt files to read cached files
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 (); // when the file is larger than 1 M, it is considered invalid data. Delete 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 ;}
Cached files are stored on the SD card. Remember to add permissions to manifest ..