0

所以我尝试使用 trinet core io ntfs dll 获取 C# 中的替代数据流(使用 VS 2015),但我有一个问题:我找不到写入文件的方法。我试过的代码:

var fileinfo = new FileInfo(filename);
var altstream = fileinfo.GetAlternateDataStream("key").OpenWrite();
altstream.WriteLine(Convert.ToString(radix));
altstream.WriteLine(Convert.ToString(push));
altstream.WriteLine(Convert.ToString(mult));
altstream.WriteLine(Convert.ToString(fill));

它只是在调试之前抛出一条错误消息:

“FileStream”不包含“WriteLine”的定义,并且找不到接受“FileStream”类型的第一个参数的扩展方法“WriteLine”(您是否缺少 using 指令或程序集引用?)

我该怎么做?我在网上找不到这个,但需要为我的项目使用替代数据流。

4

1 回答 1

1

altstream是一个FileStream实例。FileStream只理解字节,不理解字符串。为了将字符串(字符)转换为字节,您必须选择一个字符编码系统,例如 Ascii、UTF8、UTF16 等。

选择编码后,您可以使用StreamWriter该类直接将字符串写入文件:

FileStream altstream = fileinfo.GetAlternateDataStream("key").OpenWrite();

// Note that I've picked UTF8 as an encoding. You need to figure out
// for yourself, based on your requirements or desires, what encoding
// to use. UTF8 is a popular encoding though.
StreamWriter altstreamWriter = new StreamWriter( altstream, Encoding.UTF8 );

altstreamWriter.WriteLine(Convert.ToString(radix));
altstreamWriter.WriteLine(Convert.ToString(push));
altstreamWriter.WriteLine(Convert.ToString(mult));
altstreamWriter.WriteLine(Convert.ToString(fill));
于 2016-03-18T17:14:10.887 回答