use*_*605 7 c# byte text stream
好吧,我正在尝试将一些值和字符串写入文本文件.
但是这个文本文件必须包含2个字节
这些是我在完成向其写入其他值后要插入到我的文本文件中的2个字节:

我试过这个方法,但我不知道如何通过它写字节
using (StreamWriter sw = new StreamWriter(outputFilePath, false, Encoding.UTF8))
Run Code Online (Sandbox Code Playgroud)
在把我想要的字符串放到它上面后,我不知道如何将它们写入文本文件.
Bit*_*lue 16
我刚想通了.它对我很有用.我们的想法是使用可以写入字节数组的FileStream打开文件,并在其上面放置StreamWriter来编写字符串.然后你可以使用两者来混合字符串:
// StreamWriter writer = new StreamWriter(new FileStream("file.txt", FileMode.OpenOrCreate));
byte[] bytes = new byte[] { 0xff, 0xfe };
writer.BaseStream.Write(bytes, 0, bytes.Length);
Run Code Online (Sandbox Code Playgroud)
Mea*_*ing 10
如果我从你的问题中回忆正确的话.您想要将字符串写入文件然后将字节写入其中吗?
这个例子将为您做到这一点:
using (FileStream fsStream = new FileStream("Bytes.data", FileMode.Create))
using (BinaryWriter writer = new BinaryWriter(fsStream, Encoding.UTF8))
{
// Writing the strings.
writer.Write("The");
writer.Write(" strings");
writer.Write(" I");
writer.Write(" want");
writer.Write(".");
// Writing your bytes afterwards.
writer.Write(new byte[]
{
0xff,
0xfe
});
}
Run Code Online (Sandbox Code Playgroud)
使用十六进制编辑器打开"Bytes.data"文件时,您应该看到以下字节:

小智 6
这是寻找解决方案的另一种方法......
StringBuilder sb = new StringBuilder();
sb.Append("Hello!! ").Append(",");
sb.Append("My").Append(",");
sb.Append("name").Append(",");
sb.Append("is").Append(",");
sb.Append("Rajesh");
sb.AppendLine();
//use UTF8Encoding(true) if you want to use Byte Order Mark (BOM)
UTF8Encoding utf8withNoBOM = new UTF8Encoding(false);
byte[] bytearray;
bytearray = utf8withNoBOM.GetBytes(sb.ToString());
using (FileStream fileStream = new FileStream(System.Web.HttpContext.Current.Request.MapPath("~/" + "MyFileName.csv"), FileMode.Append, FileAccess.Write))
{
StreamWriter sw = new StreamWriter(fileStream, utf8withNoBOM);
//StreamWriter for writing bytestream array to file document
sw.BaseStream.Write(bytearray, 0, bytearray.Length);
sw.Flush();
sw.Close();
fileStream.Close();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34206 次 |
| 最近记录: |