70 lines
2.7 KiB
C#
70 lines
2.7 KiB
C#
using KKdMainLib.IO;
|
|
using MPIO = KKdMainLib.MessagePack.IO;
|
|
|
|
namespace KKdMainLib.MessagePack
|
|
{
|
|
public static class MPExt
|
|
{
|
|
public static MsgPack ReadMPAllAtOnce(this string file, bool JSON = false)
|
|
{
|
|
MsgPack MsgPack;
|
|
if (JSON)
|
|
{ JSONIO IO = new JSONIO(File.OpenReader(file + ".json", true));
|
|
MsgPack = IO.Read(); IO.Close(); IO = null; }
|
|
else
|
|
{ MPIO IO = new MPIO(File.OpenReader(file + ".mp" , true));
|
|
MsgPack = IO.Read(); IO.Close(); IO = null; }
|
|
return MsgPack;
|
|
}
|
|
public static MsgPack ReadMP(this string file, bool JSON = false)
|
|
{
|
|
MsgPack MsgPack;
|
|
if (JSON)
|
|
{ JSONIO IO = new JSONIO(File.OpenReader(file + ".json"));
|
|
MsgPack = IO.Read(); IO.Close(); IO = null; }
|
|
else
|
|
{ MPIO IO = new MPIO(File.OpenReader(file + ".mp" ));
|
|
MsgPack = IO.Read(); IO.Close(); IO = null; }
|
|
return MsgPack;
|
|
}
|
|
|
|
public static void Write(this MsgPack mp, bool Temp, string file, bool JSON = false)
|
|
{ if (Temp) MsgPack.New.Add(mp).Write(file, JSON).Dispose();
|
|
else mp .Write(file, JSON); }
|
|
|
|
public static MsgPack Write(this MsgPack mp, string file, bool JSON = false)
|
|
{
|
|
if (JSON)
|
|
{ JSONIO IO = new JSONIO(File.OpenWriter(file + ".json", true));
|
|
IO.Write(mp, "\n", " ").Close(); IO = null; }
|
|
else
|
|
{ MPIO IO = new MPIO(File.OpenWriter(file + ".mp" , true));
|
|
IO.Write(mp ).Close(); IO = null; }
|
|
return mp;
|
|
}
|
|
|
|
public static void WriteAfterAll(this MsgPack mp, bool Temp, string file, bool JSON = false)
|
|
{ if (Temp) MsgPack.New.Add(mp).WriteAfterAll(file, JSON).Dispose();
|
|
else mp .WriteAfterAll(file, JSON); }
|
|
|
|
public static MsgPack WriteAfterAll(this MsgPack mp, string file, bool JSON = false)
|
|
{
|
|
byte[] data = null;
|
|
if (JSON)
|
|
{ JSONIO IO = new JSONIO(File.OpenWriter());
|
|
IO.Write(mp, true); data = IO.ToArray(true); }
|
|
else
|
|
{ MPIO IO = new MPIO(File.OpenWriter());
|
|
IO.Write(mp ); data = IO.ToArray(true); }
|
|
File.WriteAllBytes(file + (JSON ? ".json" : ".mp"), data);
|
|
return mp;
|
|
}
|
|
|
|
public static void ToJSON (this string file) =>
|
|
file.ReadMP( ).Write(file, true).Dispose();
|
|
|
|
public static void ToMsgPack(this string file) =>
|
|
file.ReadMP(true).Write(file ).Dispose();
|
|
}
|
|
}
|