Zdravím, mám tu takový problém se zápisem souboru. Problem je takový, že při načtení určitého souboru vše proběhne v pořádku a uložení taky, ale i když v souboru nic neměním tak se prostě zvětší velikost a když ho chci ten soubor uloženej přes program načíst, tak mi nenačte a vyhodí chybu. Prostě mám někdě v zápisu do souboru chybu a nemůžu jí vůbec najít. Děkuji za pomoc.
Tohle je výpis co načítá soubor.
using (BinaryReader bin = new BinaryReader(new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)))
{
m_First = bin.ReadInt32();
m_Second = bin.ReadInt16();
while (bin.BaseStream.Length != bin.BaseStream.Position)
{
int number = bin.ReadInt32();
byte unk = bin.ReadByte();
int length = bin.ReadInt16();
if (length > m_Buffer.Length)
m_Buffer = new byte[(length + 1023) & ~1023];
bin.Read(m_Buffer, 0, length);
string text = Encoding.UTF8.GetString(m_Buffer, 0, length);
StringEntry stringEntry = new StringEntry();
stringEntry.Text = text;
stringEntry.Number = number;
stringEntry.Unk = unk;
list.Add(stringEntry);
m_Table[number] = text;
}
}
A tohle zápis co ho ukládá
public CreateStringListFile(Int32 first, Int16 second, StringEntry[] stringEntry)
{
BinaryWriter bw = new BinaryWriter(new FileStream("cliloc.enu", FileMode.Create, FileAccess.Write, FileShare.Write));
bw.Write((Int32)first);
bw.Write((Int16)second);
for (int index = 0; index < stringEntry.Length; index++)
{
bw.Write((Int32)stringEntry[index].Number);
bw.Write((Byte)stringEntry[index].Unk);
bw.Write((Int16)stringEntry[index].Text.Length);
bw.Write((string)stringEntry[index].Text);
}
bw.Close();
}