C# 关于filestream和streamreader unicode的Q
大家好,我有个大问题,直到现在还没有人帮我。 首先,我想打开XXX.vmg(此扩展名来自诺基亚PC套件)文件并读取它,然后将其写入richtextbox。我写的代码没有错误,richtextbox中也没有结果 这是我的密码C# 关于filestream和streamreader unicode的Q,c#,C#,大家好,我有个大问题,直到现在还没有人帮我。 首先,我想打开XXX.vmg(此扩展名来自诺基亚PC套件)文件并读取它,然后将其写入richtextbox。我写的代码没有错误,richtextbox中也没有结果 这是我的密码 FileStream file = new FileStream("c:\\XXX.vmg", FileMode.OpenOrCreate, FileAccess.Read); StreamWriter sw = new StreamWriter(fileW
FileStream file = new FileStream("c:\\XXX.vmg", FileMode.OpenOrCreate, FileAccess.Read);
StreamWriter sw = new StreamWriter(fileW);
StreamReader sr = new StreamReader(file);
string s1 = sr.ReadToEnd();
string[] words = s1.Split(' ');
for (int i=0; i<words.length; i++)
richTextBox1.Text +=Envirment.NewLine + words[i];
`enter code here`
the output at richtextbox just blank line
FileStream file=newfilestream(“c:\\XXX.vmg”,FileMode.OpenOrCreate,FileAccess.Read);
StreamWriter sw=新StreamWriter(文件W);
StreamReader sr=新的StreamReader(文件);
字符串s1=sr.ReadToEnd();
string[]words=s1.Split(“”);
对于(int i=0;i用谷歌搜索了一下VMG文件,您遇到了一些问题:
VMG包含不带字节顺序标记的小尾端Unicode。这意味着标准文本方法,如ReadToEnd
或ReadAllText
将无法工作,除非您指定编码
一旦你得到了编码,VMG就包含了一堆短信头,比如VMG、VCARD和状态块。我不知道你想完成什么,所以你必须决定如何处理这些块
但是,您可以使用以下命令以文本形式读取文件:
string folderPath = @"C:\path\to\your\VMG\folder";
using (StreamReader r = new StreamReader(Path.Combine(folderPath, @"filename.vmg"), Encoding.Unicode))
{
string s;
while ((s = r.ReadLine()) != null)
{
// s is a readable SMS block, what do you want to do with it?
}
}
在谷歌上搜索了一下VMG文件,您遇到了一些问题:
VMG包含不带字节顺序标记的小尾端Unicode。这意味着标准文本方法,如ReadToEnd
或ReadAllText
将无法工作,除非您指定编码
一旦你得到了编码,VMG就包含了一堆短信头,比如VMG、VCARD和状态块。我不知道你想完成什么,所以你必须决定如何处理这些块
但是,您可以使用以下命令以文本形式读取文件:
string folderPath = @"C:\path\to\your\VMG\folder";
using (StreamReader r = new StreamReader(Path.Combine(folderPath, @"filename.vmg"), Encoding.Unicode))
{
string s;
while ((s = r.ReadLine()) != null)
{
// s is a readable SMS block, what do you want to do with it?
}
}
这假设.vmg文件包含可读的Unicode文本。它们是否存在?在文本编辑器中打开一个.vmg文件,并发布前几行。6706:零售商86340118的MRP 1凭证的PIN为4802526503801,交易ID为E100515.2321.20013,序列号为8850435691。这些都是XXX.vmga中的行。根据,vmg是空分隔的。这是不可读文本。你能将实际文件上传到像这样的文件传输站点吗?好的,我会上传它,非常感谢你这里是链接,它在VS 2008中。vmg文件包含可读的Unicode文本。它们吗?在文本编辑器中打开一个.vmg文件并发布前几行。6706:零售商86340118的MRP 1凭证的PIN是4802526503801,传输ID是E100515.2321.20013,序列号是8850435691。这些都是XXX.vmg中的行。根据,VMGs是空分隔的。这是不可读的文本。你能像这样将实际文件上传到文件传输站点吗?好的,我会上传它,非常感谢你这是链接,它在VS中2008@hab-记得在下一步勾选勾选选择答案接受它。@hab-记住勾选答案旁边的勾号接受它。