package cn.com.basic.face.util; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.RandomAccessFile; import cn.com.basic.face.base.MainActivity; public class FileUtil { public static File writeToFile(String fileName, byte[] fileBytes) { try { return writeToFile(fileName, fileBytes, 0, fileBytes.length); }catch (Exception e) { e.printStackTrace(); } return null; } public static File writeToFile(String fileName, byte[] fileBytes, int offset, int size) { try { if (fileBytes == null) { fileBytes = new byte[]{}; } String dir = MainActivity.getInstance().getFilesDir().getAbsolutePath(); File file = new File(dir, fileName); if (file.exists()) { file.delete(); } file.createNewFile(); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File(dir, fileName))); bos.write(fileBytes, offset, size); bos.flush(); bos.close(); return new File(dir, fileName); }catch (Exception e) { e.printStackTrace(); } return null; } public static File getFile(String shortFileName) { String dir = MainActivity.getInstance().getFilesDir().getAbsolutePath(); return new File(dir, shortFileName); } public static byte[] readFile(File file) { // Open file RandomAccessFile f = null; try { f = new RandomAccessFile(file, "r"); // Get and check length long longlength = f.length(); int length = (int) longlength; if (length != longlength) throw new IOException("File size >= 2 GB"); // Read file and return data byte[] data = new byte[length]; f.readFully(data); return data; } catch (Exception e){ e.printStackTrace(); } finally { try { f.close(); }catch (Exception e) { e.printStackTrace(); } } return new byte[]{}; } public static void deleteFile(String fileName) { try { String dir = MainActivity.getInstance().getFilesDir().getAbsolutePath(); File file = new File(dir, fileName); if (file.exists()) { file.delete(); } }catch (Exception e) { e.printStackTrace(); } } public static String convertStreamToString(InputStream is) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line); } reader.close(); return sb.toString(); } public static String getStringFromFile (String filePath) { try { File fl = new File(filePath); FileInputStream fin = new FileInputStream(fl); String ret = convertStreamToString(fin); fin.close(); return ret; } catch (Exception e) { e.printStackTrace(); } return ""; } }