Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
628 views
in Technique[技术] by (71.8m points)

file - How to write data at a particular position in c#?

I am making an application in c#. In that application I have one byte array and I want to write that byte array data to particular position.

Here i used the following logic.

using(StreamWriter writer=new StreamWriter(@"D:"+ FileName + ".txt",true))  
{  
    writer.WriteLine(Encoding.ASCII.GetString(Data),IndexInFile,Data.Length);
}

But whenever i am writing data in file, it starts writing from starting.

My condition is that suppose at the initial I have empty file and I want to start writing in file from position 10000. Please help me .Thanks in advance.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Never try to write binary data as strings, like you do. It won't work correctly. Write binary data as binary data. You can use Stream for that instead of StreamWriter.

using (Stream stream = new FileStream(fileName, FileMode.OpenOrCreate))
{
    stream.Seek(1000, SeekOrigin.Begin);
    stream.Write(Data, 0, Data.Length);
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...