把数组存为固定格式的文件

wade008 2010-07-16 03:35:50
文件转到数组已解决

数组如下:
byte[] m_Temp = new byte[]
{
1 ,126,83 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,8 ,0 ,1 ,18 ,0 ,0 ,0 ,3 ,0 ,0 ,
};

文件里的内容格式如下:
"Metroset2FileFormat"
"MS1660"
512
"IS4920"
""
""
""
""
"----------------BEGIN MEMORY MAP----------------"
0,1
1,126
2,83
3,0
4,0
5,0
6,0
7,0
8,0
9,0
10,0
11,8
12,0
13,1
14,18
15,0
16,0
17,0
18,3
19,0
20,0
"-----------------END MEMORY MAP-----------------"

把数组存放到文件里0-20后面
请大家再帮下忙
...全文
90 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyer_longlong 2010-07-16
  • 打赏
  • 举报
回复
追加的 话
FileStream ft = new FileStream(Environment.CurrentDirectory + "\\1.txt", FileMode.Append );
happyer_longlong 2010-07-16
  • 打赏
  • 举报
回复
static void Main()
{
byte[] m_Temp = new byte[] { 1, 126, 83, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 18, 0, 0, 0, 3, 0, 0, };
FileStream ft = new FileStream(Environment.CurrentDirectory + "\\1.txt", FileMode.OpenOrCreate );
StreamWriter st = new StreamWriter(ft);
int i = 0;

foreach (byte bt in m_Temp)
{
st.WriteLine((i++) +","+bt);
}
st.Flush();
ft.Close();
}
hyblusea 2010-07-16
  • 打赏
  • 举报
回复
另外, 还需要在你的文件的头部插入那些固定或者是没有规律的文本...
hyblusea 2010-07-16
  • 打赏
  • 举报
回复
这样可以吗?

static void Main(string[] args)
{
byte[] m_Temp = new byte[] { 1, 126, 83, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 18, 0, 0, 0, 3, 0, 0 };
StreamWriter sw = File.AppendText("Text.txt");
for(int i = 0; i < m_Temp.Length; i ++)
{
WLog.WriteLine(i.ToString() + "," + m_Temp[i].ToString());
}

sw.Flush();
sw.Close();
sw.Dispose();


}
jenny1004 2010-07-16
  • 打赏
  • 举报
回复
有点复杂~~~
happyer_longlong 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wuyazhe 的回复:]

C# code
static void Main(string[] args)
{
string[] lines = File.ReadAllLines("aa.txt",Encoding.Default);
byte[] m_Temp = new byte[] { 1, 126, 83, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 18, 0, 0, 0……
[/Quote]
有不着这么复杂吧
yuanhuiqiao 2010-07-16
  • 打赏
  • 举报
回复
什么文件txt?参考
兔子-顾问 2010-07-16
  • 打赏
  • 举报
回复
static void Main(string[] args)
{
string[] lines = File.ReadAllLines("aa.txt",Encoding.Default);
byte[] m_Temp = new byte[] { 1, 126, 83, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 1, 18, 0, 0, 0, 3, 0, 0 };
int n = 0;
n = Array.IndexOf(lines, "\"----------------BEGIN MEMORY MAP----------------\"");
if (n == -1) return;//错误
n++;//指向下一个
Regex regExp = new Regex(@"(\d+,)(\d+)", RegexOptions.Compiled);
Match m = Match.Empty;
for (int i = n; i < n + m_Temp.Length; i++)
{
m = regExp.Match(lines[i]);
if (!m.Success) break;//避免长度错误
lines[i] = regExp.Replace(lines[i], "${1}" + m_Temp[i - n].ToString());
}
File.WriteAllLines("bb.txt", lines);
Console.ReadKey();
}
wade008 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 peter200694013 的回复:]

引用 1 楼 wuyazhe 的回复:
没看懂。替换掉
数字,后面这里的?

他是想把数组中的内容追加到文本中,每个元素一行,元素前有对应的索引下标,索引下标和元素值之间用逗号分开
[/Quote]

他说的是正解
hyblusea 2010-07-16
  • 打赏
  • 举报
回复
两个数据,一行, 写到文本文件里面
Peter200694013 2010-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyazhe 的回复:]
没看懂。替换掉
数字,后面这里的?
[/Quote]
他是想把数组中的内容追加到文本中,每个元素一行,元素前有对应的索引下标,索引下标和元素值之间用逗号分开
兔子-顾问 2010-07-16
  • 打赏
  • 举报
回复
没看懂。替换掉
数字,后面这里的?

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧