位置: 编程技术 - 正文
推荐整理分享工具类(2)文件操作工具类(工具类的作用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:工具类的作用,工具类是啥,什么叫工具类,工具类怎么写,工具类怎么写,工具文里的工具都有啥,工具文里的工具都有啥,工具类是啥,内容如对您有帮助,希望把文章链接给更多的朋友!
这些工具类是由开源项目中获取得到
public class FileUtils {
/*** 写文本文件 在Android系统中,文件保存在 /data/data/PACKAGE_NAME/files 目录下* * @param context* @param msg*/public static void write(Context context, String fileName, String content) {if (content == null)content = "";try {FileOutputStream fos = context.openFileOutput(fileName,Context.MODE_PRIVATE);fos.write(content.getBytes());fos.close();} catch (Exception e) {e.printStackTrace();}}/*** 读取文本文件* * @param context* @param fileName* @return*/public static String read(Context context, String fileName) {try {FileInputStream in = context.openFileInput(fileName);return readInStream(in);} catch (Exception e) {e.printStackTrace();}return "";}public static String readInStream(InputStream inStream) {try {ByteArrayOutputStream outStream = new ByteArrayOutputStream();byte[] buffer = new byte[];int length = -1;while ((length = inStream.read(buffer)) != -1) {outStream.write(buffer, 0, length);}outStream.close();inStream.close();return outStream.toString();} catch (IOException e) {Log.i("FileTest", e.getMessage());}return null;}public static File createFile(String folderPath, String fileName) {File destDir = new File(folderPath);if (!destDir.exists()) {destDir.mkdirs();}return new File(folderPath, fileName fileName);}/*** 向手机写图片* * @param buffer* @param folder* @param fileName* @return*/public static boolean writeFile(byte[] buffer, String folder,String fileName) {boolean writeSucc = false;boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);String folderPath = "";if (sdCardExist) {folderPath = Environment.getExternalStorageDirectory() File.separator folder File.separator;} else {writeSucc = false;}File fileDir = new File(folderPath);if (!fileDir.exists()) {fileDir.mkdirs();}File file = new File(folderPath fileName);FileOutputStream out = null;try {out = new FileOutputStream(file);out.write(buffer);writeSucc = true;} catch (Exception e) {e.printStackTrace();} finally {try {out.close();} catch (IOException e) {e.printStackTrace();}}return writeSucc;}/*** 根据文件绝对路径获取文件名* * @param filePath* @return*/public static String getFileName(String filePath) {if (StringUtils.isEmpty(filePath))return "";return filePath.substring(filePath.lastIndexOf(File.separator) 1);}/*** 根据文件的绝对路径获取文件名但不包含扩展名* * @param filePath* @return*/public static String getFileNameNoFormat(String filePath) {if (StringUtils.isEmpty(filePath)) {return "";}int point = filePath.lastIndexOf('.');return filePath.substring(filePath.lastIndexOf(File.separator) 1,point);}/*** 获取文件扩展名* * @param fileName* @return*/public static String getFileFormat(String fileName) {if (StringUtils.isEmpty(fileName))return "";int point = fileName.lastIndexOf('.');return fileName.substring(point 1);}/*** 获取文件大小* * @param filePath* @return*/public static long getFileSize(String filePath) {long size = 0;File file = new File(filePath);if (file != null && file.exists()) {size = file.length();}return size;}/*** 获取文件大小* * @param size* 字节* @return*/public static String getFileSize(long size) {if (size <= 0)return "0";java.text.DecimalFormat df = new java.text.DecimalFormat("##.##");float temp = (float) size / ;if (temp >= ) {return df.format(temp / ) "M";} else {return df.format(temp) "K";}}/*** 转换文件大小* * @param fileS* @return B/KB/MB/GB*/public static String formatFileSize(long fileS) {java.text.DecimalFormat df = new java.text.DecimalFormat("#.");String fileSizeString = "";if (fileS < ) {fileSizeString = df.format((double) fileS) "B";} else if (fileS < ) {fileSizeString = df.format((double) fileS / ) "KB";} else if (fileS < ) {fileSizeString = df.format((double) fileS / ) "MB";} else {fileSizeString = df.format((double) fileS / ) "G";}return fileSizeString;}/*** 获取目录文件大小* * @param dir* @return*/public static long getDirSize(File dir) {if (dir == null) {return 0;}if (!dir.isDirectory()) {return 0;}long dirSize = 0;File[] files = dir.listFiles();for (File file : files) {if (file.isFile()) {dirSize = file.length();} else if (file.isDirectory()) {dirSize = file.length();dirSize = getDirSize(file); // 递归调用继续统计}}return dirSize;}/*** 获取目录文件个数* * @param f* @return*/public long getFileList(File dir) {long count = 0;File[] files = dir.listFiles();count = files.length;for (File file : files) {if (file.isDirectory()) {count = count getFileList(file);// 递归count--;}}return count;}public static byte[] toBytes(InputStream in) throws IOException {ByteArrayOutputStream out = new ByteArrayOutputStream();int ch;while ((ch = in.read()) != -1) {out.write(ch);}byte buffer[] = out.toByteArray();out.close();return buffer;}/*** 检查文件是否存在* * @param name* @return*/public static boolean checkFileExists(String name) {boolean status;if (!name.equals("")) {File path = Environment.getExternalStorageDirectory();File newPath = new File(path.toString() name);status = newPath.exists();} else {status = false;}return status;}/*** 检查路径是否存在* * @param path* @return*/public static boolean checkFilePathExists(String path) {return new File(path).exists();}/*** 计算SD卡的剩余空间* * @return 返回-1,说明没有安装sd卡*/public static long getFreeDiskSpace() {String status = Environment.getExternalStorageState();long freeSpace = 0;if (status.equals(Environment.MEDIA_MOUNTED)) {try {File path = Environment.getExternalStorageDirectory();StatFs stat = new StatFs(path.getPath());long blockSize = stat.getBlockSize();long availableBlocks = stat.getAvailableBlocks();freeSpace = availableBlocks * blockSize / ;} catch (Exception e) {e.printStackTrace();}} else {return -1;}return (freeSpace);}/*** 新建目录* * @param directoryName* @return*/public static boolean createDirectory(String directoryName) {boolean status;if (!directoryName.equals("")) {File path = Environment.getExternalStorageDirectory();File newPath = new File(path.toString() directoryName);status = newPath.mkdir();status = true;} elsestatus = false;return status;}/*** 检查是否安装SD卡* * @return*/public static boolean checkSaveLocationExists() {String sDCardStatus = Environment.getExternalStorageState();boolean status;if (sDCardStatus.equals(Environment.MEDIA_MOUNTED)) {status = true;} elsestatus = false;return status;}/*** 检查是否安装外置的SD卡* * @return*/public static boolean checkExternalSDExists() {Map<String, String> evn = System.getenv();return evn.containsKey("SECONDARY_STORAGE");}/*** 删除目录(包括:目录里的所有文件)* * @param fileName* @return*/public static boolean deleteDirectory(String fileName) {boolean status;SecurityManager checker = new SecurityManager();if (!fileName.equals("")) {File path = Environment.getExternalStorageDirectory();File newPath = new File(path.toString() fileName);checker.checkDelete(newPath.toString());if (newPath.isDirectory()) {String[] listfile = newPath.list();// delete all files within the specified directory and then// delete the directorytry {for (int i = 0; i < listfile.length; i) {File deletedFile = new File(newPath.toString() "/" listfile[i].toString());deletedFile.delete();}newPath.delete();Log.i("DirectoryManager deleteDirectory", fileName);status = true;} catch (Exception e) {e.printStackTrace();status = false;}} elsestatus = false;} elsestatus = false;return status;}/*** 删除文件* * @param fileName* @return*/public static boolean deleteFile(String fileName) {boolean status;SecurityManager checker = new SecurityManager();if (!fileName.equals("")) {File path = Environment.getExternalStorageDirectory();File newPath = new File(path.toString() fileName);checker.checkDelete(newPath.toString());if (newPath.isFile()) {try {Log.i("DirectoryManager deleteFile", fileName);newPath.delete();status = true;} catch (SecurityException se) {se.printStackTrace();status = false;}} elsestatus = false;} elsestatus = false;return status;}/*** 删除空目录* * 返回 0代表成功 ,1 代表没有删除权限, 2代表不是空目录,3 代表未知错误* * @return*/public static int deleteBlankPath(String path) {File f = new File(path);if (!f.canWrite()) {return 1;}if (f.list() != null && f.list().length > 0) {return 2;}if (f.delete()) {return 0;}return 3;}/*** 重命名* * @param oldName* @param newName* @return*/public static boolean reNamePath(String oldName, String newName) {File f = new File(oldName);return f.renameTo(new File(newName));}/*** 删除文件* * @param filePath*/public static boolean deleteFileWithPath(String filePath) {SecurityManager checker = new SecurityManager();File f = new File(filePath);checker.checkDelete(filePath);if (f.isFile()) {Log.i("DirectoryManager deleteFile", filePath);f.delete();return true;}return false;}/*** 清空一个文件夹* @param files*/public static void clearFileWithPath(String filePath) {List<File> files = FileUtils.listPathFiles(filePath);if (files.isEmpty()) {return;}for (File f : files) {if (f.isDirectory()) {clearFileWithPath(f.getAbsolutePath());} else {f.delete();}}}/*** 获取SD卡的根目录* * @return*/public static String getSDRoot() {return Environment.getExternalStorageDirectory().getAbsolutePath();}/*** 获取手机外置SD卡的根目录* * @return*/public static String getExternalSDRoot() {Map<String, String> evn = System.getenv();return evn.get("SECONDARY_STORAGE");}/*** 列出root目录下所有子目录* * @param path* @return 绝对路径*/public static List<String> listPath(String root) {List<String> allDir = new ArrayList<String>();SecurityManager checker = new SecurityManager();File path = new File(root);checker.checkRead(root);// 过滤掉以.开始的文件夹if (path.isDirectory()) {for (File f : path.listFiles()) {if (f.isDirectory() && !f.getName().startsWith(".")) {allDir.add(f.getAbsolutePath());}}}return allDir;}/*** 获取一个文件夹下的所有文件* @param root* @return*/public static List<File> listPathFiles(String root) {List<File> allDir = new ArrayList<File>();SecurityManager checker = new SecurityManager();File path = new File(root);checker.checkRead(root);File[] files = path.listFiles();for (File f : files) {if (f.isFile())allDir.add(f);else listPath(f.getAbsolutePath());}return allDir;}public enum PathStatus {SUCCESS, EXITS, ERROR}/*** 创建目录* * @param path*/public static PathStatus createPath(String newPath) {File path = new File(newPath);if (path.exists()) {return PathStatus.EXITS;}if (path.mkdir()) {return PathStatus.SUCCESS;} else {return PathStatus.ERROR;}}/*** 截取路径名* * @return*/public static String getPathName(String absolutePath) {int start = absolutePath.lastIndexOf(File.separator) 1;int end = absolutePath.length();return absolutePath.substring(start, end);}/*** 获取应用程序缓存文件夹下的指定目录* @param context* @param dir* @return*/public static String getAppCache(Context context, String dir) {String savePath = context.getCacheDir().getAbsolutePath() "/" dir "/";File savedir = new File(savePath);if (!savedir.exists()) {savedir.mkdirs();}savedir = null;return savePath;}}Linux Mint配置android环境(java+eclipse+adt+android_sdk) 今天在Linuxmint上配置android,弄了好长时间才弄好,写下安装记录,也方便以后查看。哈哈!大家如果使用Linux应该知道,linux自带了OpenJDK的java,但是功
工具类(3)HTML相关的正则表达式工具类 该工具类由开源项目中获得publicclassHtmlRegexpUtils{privatefinalstaticStringregxpForHtml=([^]*);//过滤所有以开头以结尾的标签privatefinalstaticStringregxpForImgTag=\s*img\s([^
android怎么彻底关闭一个程序 本文为转载:
标签: 工具类的作用
本文链接地址:https://www.jiuchutong.com/biancheng/384293.html 转载请保留说明!下一篇:Linux Mint配置android环境(java+eclipse+adt+android_sdk)(linux如何配置)
友情链接: 武汉网站建设