【发布时间】:2015-10-17 10:18:07
【问题描述】:
我在用 c# 将本地文件读入字符串时遇到问题。
这是我到现在为止的想法:
string file = @"C:\script_test\{5461EC8C-89E6-40D1-8525-774340083829}.html";
using (StreamReader reader = new StreamReader(file))
{
string line = "";
while ((line = reader.ReadLine()) != null)
{
textBox1.Text += line.ToString();
}
}
这是唯一可行的解决方案。
我尝试了其他一些读取文件的建议方法,例如:
string file = @"C:\script_test\{5461EC8C-89E6-40D1-8525-774340083829}.html";
string html = File.ReadAllText(file).ToString();
textBox1.Text += html;
但它并没有按预期工作。
这是我正在尝试读取的文件的前几行:
如您所见,它有一些时髦的字符,老实说,我不知道这是否是导致这种奇怪行为的原因。
但在第一种情况下,代码似乎跳过了这些行,只打印“Office Communicator 生成的文档...”
【问题讨论】:
-
那是二进制数据吗?您可以读取二进制流并转换为字符串。
-
请从文件的开头发布 binary 数据 - 基本上用 hex 文件编辑器查看它。
-
它看起来像一个简单的html文件,实际上它有一个HTML标签,加上所有其他部分,如body、style等。当用chrome打开时,它是一个简单的网页,有一些垃圾顶部。
-
这不是文本文件。它是使用“.html”扩展名保存的其他格式。它是如何准确地生成的? “由 Lync 生成”不是答案 - Lync 生成了什么?您是否尝试将某些内容保存为附件?是会话的记录吗?传输的文件?在用户的 Lync 数据文件夹中找到原始文件?如果不知道二进制文件的类型或格式,就无法处理
-
这是最重要的信息,应该在标题本身中。我建议您发布一个新 问题,询问如何阅读 Lync 对话历史记录文件。可能有一个 API 可以使这变得微不足道。另请查看 Lync 的文档和编程指南。确保提及使用的 Lync 版本。另请注意,有很多关于从服务器或客户端读取 Lync 历史记录的 SO 问题。确保指定适当的大小写