33import android .content .Context ;
44import android .content .pm .ApplicationInfo ;
55import android .content .pm .PackageManager ;
6- import android .support .annotation .NonNull ;
7- import android .support .annotation .WorkerThread ;
8- import android .util .Log ;
96
10- import java .io .BufferedInputStream ;
11- import java .io .BufferedOutputStream ;
12- import java .io .File ;
13- import java .io .FileInputStream ;
14- import java .io .FileOutputStream ;
15- import java .io .IOException ;
16- import java .io .InputStream ;
177import java .text .DateFormat ;
188import java .text .SimpleDateFormat ;
199import java .util .Date ;
2010import java .util .Locale ;
21- import java .util .zip .ZipEntry ;
22- import java .util .zip .ZipOutputStream ;
2311
2412public class Util {
2513
@@ -37,53 +25,9 @@ public static String getAppName(Context context) {
3725 return info .loadLabel (context .getPackageManager ()).toString ();
3826 }
3927
40- public static String inputStreamToString (InputStream in ) {
41- StringBuilder sb = new StringBuilder ();
42- try {
43- byte [] buf = new byte [4096 ]; // not always 4k, but most of the times
44- while (in .read (buf ) != -1 ) {
45- sb .append (new String (buf , "UTF-8" ));
46- }
47- } catch (IOException ioe ) {
48- Log .w ("LogPost" , "logpost failed" , ioe );
49- } finally {
50- try {
51- in .close ();
52- } catch (Exception ignored ) {
53- }
54- }
55- return sb .toString ();
56- }
57-
5828 public static String getCurrentTimeString () {
5929 DateFormat dateFormat = new SimpleDateFormat ("yyyy.MM.dd HH:mm:ssZ" , Locale .US );
6030 return dateFormat .format (new Date ());
6131 }
6232
63- @ WorkerThread
64- public static void compressFiles (@ NonNull final File [] targetFiles , @ NonNull final File compressedFile ) {
65- try {
66- final int bufferSize = 4096 ;
67- BufferedInputStream origin ;
68- final FileOutputStream dest = new FileOutputStream (compressedFile );
69- final ZipOutputStream out = new ZipOutputStream (new BufferedOutputStream (dest ));
70- final byte [] data = new byte [bufferSize ];
71- for (File file : targetFiles ) {
72- FileInputStream fi = new FileInputStream (file );
73- origin = new BufferedInputStream (fi , bufferSize );
74-
75- final ZipEntry entry = new ZipEntry (file .getName ());
76- out .putNextEntry (entry );
77- int count ;
78- while ((count = origin .read (data , 0 , bufferSize )) != -1 ) {
79- out .write (data , 0 , count );
80- }
81- LogHelper .closeStream (origin );
82- }
83- LogHelper .closeStream (out );
84- } catch (Exception e ) {
85- Log .w ("LogPost" , "compressFiles failed" , e );
86- }
87- }
88-
8933}
0 commit comments