anroid&java工具类
来源:互联网 发布:奥迪矩阵式led大灯价格 编辑:程序博客网 时间:2024/05/01 19:56
越来越发现,整理一些常用的工具接口,对于编程开发人员来说越来越重要,以本文为契机,开始对常用的工具接口进行整理,不断update,起到事半功倍的作用。
public class Tools {private final static int DEFAULT_BUFFER_SIZE = 1024;/** * 将文件大小由字节转化为M * * @param size * @return */public static String sizeToM(long size) {if (size / 1024 / 1024 >= 1) {return size / 1024 / 1024 + (size / 1024 % 1024 / 1024.0 + "").substring(1, 3) + "MB";} else {return size / 1024 + (size % 1024 / 1024.0 + "").substring(1, 3) + "KB";}}/** * 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!) * * @param res * 原字符串 * @param filePath * 文件路径 * @return 成功标记 */public static boolean string2File(String res, String filePath) {boolean flag = true;BufferedReader bufferedReader = null;BufferedWriter bufferedWriter = null;try {File distFile = new File(filePath);if (!distFile.getParentFile().exists())distFile.getParentFile().mkdirs();bufferedReader = new BufferedReader(new StringReader(res));bufferedWriter = new BufferedWriter(new FileWriter(distFile));char buf[] = new char[1024]; // 字符缓冲区int len;while ((len = bufferedReader.read(buf)) != -1) {bufferedWriter.write(buf, 0, len);}bufferedWriter.flush();bufferedReader.close();bufferedWriter.close();} catch (IOException e) {e.printStackTrace();flag = false;return flag;} finally {if (bufferedReader != null) {try {bufferedReader.close();} catch (IOException e) {e.printStackTrace();}}}return flag;}/** * 文本文件转换为指定编码的字符串 * * @param file * 文本文件 * @param encoding * 编码类型 * @return 转换后的字符串 * @throws IOException */public static String file2String(File file, String encoding) {InputStreamReader reader = null;StringWriter writer = new StringWriter();try {if (encoding == null || "".equals(encoding.trim())) {reader = new InputStreamReader(new FileInputStream(file), encoding);} else {reader = new InputStreamReader(new FileInputStream(file));}// 将输入流写入输出流char[] buffer = new char[DEFAULT_BUFFER_SIZE];int n = 0;while (-1 != (n = reader.read(buffer))) {writer.write(buffer, 0, n);}} catch (Exception e) {e.printStackTrace();return null;} finally {if (reader != null)try {reader.close();} catch (IOException e) {e.printStackTrace();}}// 返回转换结果if (writer != null)return writer.toString();elsereturn null;}/** * 获取当前系统的版本 * * @return */public static String currentSystemVersion() {return Build.VERSION.RELEASE;}/* * IP正则表达式的判断 */public static boolean matchIP(String ip) {// ip正则表达式String regex = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(ip);return matcher.matches();}/** * 解析IP地址 * * @param ip */public static String[] resolutionIP(String ip) {return ip.split("\\.");}/** * 把字节数组转换成Bitmap * * @param b * @return */public static Bitmap byte2Bitmap(byte[] b) {if (b.length != 0) {return BitmapFactory.decodeByteArray(b, 0, b.length);} else {return null;}}/** * 把Bitmap转换成字节数组 * * @param bm * @return */public static byte[] bitmap2Bytes(Bitmap bm) {ByteArrayOutputStream baos = new ByteArrayOutputStream();bm.compress(Bitmap.CompressFormat.PNG, 100, baos);return baos.toByteArray();}/** * 获取当前可用内存大小 * * @return */public static String getAvailMemory(Context context) {ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);MemoryInfo mi = new MemoryInfo();am.getMemoryInfo(mi);System.out.println("mi.availMem;" + mi.availMem);return Formatter.formatFileSize(context, mi.availMem);// 将获取的内存大小规格化}/** * 获取总的内存大小 * * @return */public static String getTotalMemory(Context context) {String str1 = "/proc/meminfo";// 系统内存信息文件String str2;String[] arrayOfString;long initial_memory = 0;try {FileReader localFileReader = new FileReader(str1);BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192);str2 = localBufferedReader.readLine();// 读取meminfo第一行,系统总内存大小arrayOfString = str2.split("\\s+");for (String num : arrayOfString) {Log.i(str2, num + "\t");}initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;// 获得系统总内存,单位是KB,乘以1024转换为BytelocalBufferedReader.close();} catch (IOException e) {}return Formatter.formatFileSize(context, initial_memory);// Byte转换为KB或者MB,内存大小规格化}}
- anroid&java工具类
- anroid 逆向工具下载
- anroid 类层级
- anroid
- anroid屏幕适配之dp与px互转工具类
- anroid自动测试之Monkey工具
- Xamarin Anroid开发教程之Anroid开发工具及应用介绍
- 通过java 监听 anroid back键
- anroid在Mac下的反编译工具配置
- Anroid常用的辅助类(一)——网络相关
- anroid USB类设备无法自动生成节点解决
- #Anroid常用单位转换的辅助类DensityUtils
- anroid虚拟机
- anroid adb
- Anroid--Toast
- anroid cookie
- Anroid UI
- AnRoid Notification
- C++中const用法总结
- 谈谈个人对持续集成CI的理解
- 灵活使用Eclipse与Java远程调试功能
- 海贼王1~500集种子下载地址
- C/C++混合编程 —— extern "C" 的用法
- anroid&java工具类
- 基于Java的CSV格式文件处理(excel逗号分隔符文件)
- stl::vector reserve和resize的区别
- Ubuntu下载Android源代码和内核
- 嵌入式系统中看门狗概述。。。
- DataGridView操作
- 英语五个基本句式
- 终于可以写博客啦,感动下`
- 某pad删除内容