/** * 获取 开机时间 */ public static string getBootTimeString() { long ut = SystemClock.ElapsedRealtime() / 1000; int h = (int)((ut / 3600)); int m = (int)((ut / 60) % 60); LogUtils.i(TAG, h + ":" + m); return(h + ":" + m); }
/** * 获取 MAC 地址 * 须配置android.permission.ACCESS_WIFI_STATE权限 */ public static string getMacAddress(Context context) { //wifi mac地址 WifiManager wifi = (WifiManager)context.GetSystemService(Context.WifiService); WifiInfo info = wifi.ConnectionInfo; string mac = info.MacAddress; LogUtils.i(TAG, " MAC:" + mac); return(mac); }
/** * 获取Wifi传书保存文件 * * @param fileName * @return */ public static File createWifiTranfesFile(string fileName) { LogUtils.i("wifi trans save " + fileName); // 取文件名作为文件夹(bookid) string absPath = Constant.PATH_TXT + "/" + fileName + "/1.txt"; File file = new File(absPath); if (!file.Exists()) { createFile(file); } return(file); }
/** * 获取/打印屏幕信息 * * @param context * @return */ public static DisplayMetrics printDisplayInfo(Context context) { DisplayMetrics dm = getDisplayMetrics(context); StringBuilder sb = new StringBuilder(); sb.Append("\ndensity :").Append(dm.Density); sb.Append("\ndensityDpi :").Append(dm.DensityDpi); sb.Append("\nheightPixels :").Append(dm.HeightPixels); sb.Append("\nwidthPixels :").Append(dm.WidthPixels); sb.Append("\nscaledDensity :").Append(dm.ScaledDensity); sb.Append("\nxdpi :").Append(dm.Xdpi); sb.Append("\nydpi :").Append(dm.Ydpi); LogUtils.i(TAG, sb.ToString()); return(dm); }
/** * 将内容写入文件 * * @param filePath eg:/mnt/sdcard/demo.txt * @param content 内容 * @param isAppend 是否追加 */ public static void writeFile(string filePath, string content, bool isAppend) { LogUtils.i("save:" + filePath); try { FileOutputStream fout = new FileOutputStream(filePath, isAppend); byte[] bytes = Encoding.UTF8.GetBytes(content); fout.Write(bytes); fout.Close(); } catch (Exception e) { e.PrintStackTrace(); } }
/** * 递归创建文件夹 * * @param file * @return 创建失败返回"" */ public static string createFile(File file) { try { if (file.ParentFile.Exists()) { LogUtils.i("----- 创建文件" + file.AbsolutePath); file.CreateNewFile(); return(file.AbsolutePath); } else { createDir(file.ParentFile.AbsolutePath); file.CreateNewFile(); LogUtils.i("----- 创建文件" + file.AbsolutePath); } } catch (Exception e) { e.PrintStackTrace(); } return(""); }
/** * 递归创建文件夹 * * @param dirPath * @return 创建失败返回"" */ public static string createDir(string dirPath) { try { File file = new File(dirPath); if (file.ParentFile.Exists()) { LogUtils.i("----- 创建文件夹" + file.AbsolutePath); file.Mkdir(); return(file.AbsolutePath); } else { createDir(file.ParentFile.AbsolutePath); LogUtils.i("----- 创建文件夹" + file.AbsolutePath); file.Mkdir(); } } catch (Exception e) { e.PrintStackTrace(); } return(dirPath); }
public static void unzipFile(string inputZip, string destinationDirectory) { int buffer = 2048; List <string> zipFiles = new List <string>(); File sourceZipFile = new File(inputZip); File unzipDirectory = new File(destinationDirectory); createDir(unzipDirectory.AbsolutePath); ZipFile zipFile; zipFile = new ZipFile(sourceZipFile, ZipFile.OpenRead); IEnumeration zipFileEntries = zipFile.Entries(); while (zipFileEntries.HasMoreElements) { ZipEntry entry = (ZipEntry)zipFileEntries.NextElement(); string currentEntry = entry.Name; File destFile = new File(unzipDirectory, currentEntry); if (currentEntry.EndsWith(Constant.SUFFIX_ZIP)) { zipFiles.Add(destFile.AbsolutePath); } File destinationParent = destFile.ParentFile; createDir(destinationParent.AbsolutePath); if (!entry.IsDirectory) { if (destFile != null && destFile.Exists()) { LogUtils.i(destFile + "已存在"); continue; } BufferedInputStream inputStream = new BufferedInputStream(zipFile.GetInputStream(entry)); int currentByte; // buffer for writing file byte[] data = new byte[buffer]; var fos = new System.IO.FileStream(destFile.AbsolutePath, System.IO.FileMode.OpenOrCreate); BufferedOutputStream dest = new BufferedOutputStream(fos, buffer); while ((currentByte = inputStream.Read(data, 0, buffer)) != -1) { dest.Write(data, 0, currentByte); } dest.Flush(); dest.Close(); inputStream.Close(); } } zipFile.Close(); foreach (var zipName in zipFiles) { unzipFile(zipName, destinationDirectory + File.SeparatorChar + zipName.Substring(0, zipName.LastIndexOf(Constant.SUFFIX_ZIP))); } }