MyUtils.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.Drawing;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace IPADDemo.Util
  10. {
  11. public static class MyUtils
  12. {
  13. public static bool IsFileInUse(string fileName)
  14. {
  15. bool inUse = true;
  16. FileStream fs = null;
  17. try
  18. {
  19. fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
  20. inUse = false;
  21. }
  22. catch (Exception ex)
  23. {
  24. try
  25. {
  26. Process[] pcs = Process.GetProcesses();
  27. foreach (Process p in pcs)
  28. {
  29. if (p.MainModule.FileName == fileName)
  30. {
  31. p.Kill();
  32. }
  33. }
  34. }
  35. catch (Exception e) { }
  36. }
  37. finally
  38. {
  39. if (fs != null)
  40. fs.Close();
  41. }
  42. return inUse;//true表示正在使用,false没有使用
  43. }
  44. public static Bitmap Base64StringToImage(string basestr)
  45. {
  46. Bitmap bitmap = null;
  47. try
  48. {
  49. String inputStr = basestr;
  50. byte[] arr = Convert.FromBase64String(inputStr);
  51. MemoryStream ms = new MemoryStream(arr);
  52. Bitmap bmp = new Bitmap(ms);
  53. ms.Close();
  54. bitmap = bmp;
  55. //MessageBox.Show("转换成功!");
  56. }
  57. catch (Exception ex)
  58. {
  59. Console.WriteLine("Base64StringToImage 转换失败\nException:" + ex.Message);
  60. }
  61. return bitmap;
  62. }
  63. public static string ImageToBase64String(this Image image)
  64. {
  65. return Convert.ToBase64String(image.ImageToBytes());
  66. }
  67. /// <summary>
  68. /// 字符串转16进制
  69. /// </summary>
  70. /// <param name="s"></param>
  71. /// <param name="encode"></param>
  72. /// <returns></returns>
  73. public static string StringToHexString(string s, Encoding encode)
  74. {
  75. byte[] b = encode.GetBytes(s);//按照指定编码将string编程字节数组
  76. string result = string.Empty;
  77. for (int i = 0; i < b.Length; i++)//逐字节变为16进制字符
  78. {
  79. result += Convert.ToString(b[i], 16);
  80. }
  81. return result;
  82. }
  83. /// <summary>
  84. /// 16进制转字符串
  85. /// </summary>
  86. /// <param name="hs"></param>
  87. /// <param name="encode"></param>
  88. /// <returns></returns>
  89. public static string HexStringToString(string hs, Encoding encode)
  90. {
  91. string strTemp = "";
  92. byte[] b = new byte[hs.Length / 2];
  93. for (int i = 0; i < hs.Length / 2; i++)
  94. {
  95. strTemp = hs.Substring(i * 2, 2);
  96. b[i] = Convert.ToByte(strTemp, 16);
  97. }
  98. //按照指定编码将字节数组变为字符串
  99. return encode.GetString(b);
  100. }
  101. }
  102. }