最近写的一个文件存储的工具类
包括文件存入与读取还有判断SD卡是否可用
public class FileTools {/**写入文件操作*/public static void writeTxtFile(String FileName ,String Message){if(getExternalStorageState()){File file = new File("/sdcard/"+FileName);if(file.exists()){file.delete();}FileOutputStream out;try {out = new FileOutputStream(file);out.write(Message.getBytes());out.close();}catch (FileNotFoundException e){e.printStackTrace();LogUtil.e("error","FileNotFoundException!!");}catch (IOException e){e.printStackTrace();LogUtil.e("error","IOException!!");}}}/**读取文件操作*/public static String readTxtFile(String FileName){FileInputStream fis = null;if(getExternalStorageState()){File file = new File("/sdcard/"+FileName);if(file.exists()){try{fis = new FileInputStream(file);int len = 0;StringBuilder builder = new StringBuilder();byte[] buffer = new byte[1024];while ((len =fis.read(buffer))!=-1){builder.append(new String(buffer,0,len));
// builder.append(buffer); //这里如果这样写会是乱码,因为是二进制的buffer 需要String构造一下才行
}return builder.toString();}catch (FileNotFoundException e){e.printStackTrace();LogUtil.e("error","FileNotFoundException!!");}catch (IOException e){e.printStackTrace();LogUtil.e("error","IOException!!");}}}return null;}
/**从sd卡中读取图片*/
public static Bitmap loadBitmapFromSdcard(String fileName){String path = fileName;if(getExternalStorageState()){File file = new File(path);if(file.exists()){BitmapFactory.Options options=new BitmapFactory.Options();options.inSampleSize = 2;Bitmap bmp = BitmapFactory.decodeFile(path,options);if(bmp == null){file.delete();}else{return bmp;}}}return null;
}
/** * 判断SD卡是否可用 * */ private static boolean getExternalStorageState(){ String state = Environment.getExternalStorageState(); return state.equals(Environment.MEDIA_MOUNTED);}
}