CacheFileInfo.cs 969 B

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using System.IO;
  3. namespace YooAsset
  4. {
  5. internal class CacheFileInfo
  6. {
  7. private static readonly BufferWriter SharedBuffer = new BufferWriter(1024);
  8. /// <summary>
  9. /// 写入资源包信息
  10. /// </summary>
  11. public static void WriteInfoToFile(string filePath, string dataFileCRC, long dataFileSize)
  12. {
  13. using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.Read))
  14. {
  15. SharedBuffer.Clear();
  16. SharedBuffer.WriteUTF8(dataFileCRC);
  17. SharedBuffer.WriteInt64(dataFileSize);
  18. SharedBuffer.WriteToStream(fs);
  19. fs.Flush();
  20. }
  21. }
  22. /// <summary>
  23. /// 读取资源包信息
  24. /// </summary>
  25. public static void ReadInfoFromFile(string filePath, out string dataFileCRC, out long dataFileSize)
  26. {
  27. byte[] binaryData = FileUtility.ReadAllBytes(filePath);
  28. BufferReader buffer = new BufferReader(binaryData);
  29. dataFileCRC = buffer.ReadUTF8();
  30. dataFileSize = buffer.ReadInt64();
  31. }
  32. }
  33. }