C FileStream.Write 需要使用Encoding的另类变换【DOC精选】.docVIP

  • 27
  • 0
  • 约8.52千字
  • 约 13页
  • 2017-02-16 发布于江苏
  • 举报

C FileStream.Write 需要使用Encoding的另类变换【DOC精选】.doc

C# System.IO.FileStream.Write() 需要使用Encoding的另类变换 Byte型数组aOrder以SJIS字符编码输出文件. 源代码: ??????????????? System.IO.FileStream fs = new System.IO.FileStream( ??????????????????? aFileName, System.IO.FileMode.Create, System.IO.FileAccess.Write); ??????????????? fs.Write(aOrder, 0, aOrder.Length); 由于存储文件时,需要以SJIS字符编码保存,所以需要对代码进行调整: ??????????????? string aString = System.Text.Encoding.GetEncoding(sjis).GetString(aOrder); ??????????????? System.IO.StreamWriter sw = new System.IO.StreamWriter(aFileName, false, System.Text.Encoding.GetEncoding(sjis)); ??????????????? sw.AutoFlush = true; ??????????????? System.IO.TextWriter aWriter = System.IO.TextWriter.Synchronized(sw); ??????????????? aWriter.Write(aString.ToString()); StreamReader sr = new StreamReader(path, Encoding.Default); while ((line = sr.ReadLine ()) != null ) { Console.WriteLine (line ); //Console.Write((char)sr.Read() + \r\n); } 用C#读写文本文件 理论上,可以使用FileStream类读取和显示文本文件。前面已经介绍了这个类。上面显示NewFile.txt文件的格式不太容易理解,但这并不是FileStream类的问题——而在于我们在文本框中显示结果所使用的方式。???? ????如果知道某个文件包含文本,通常就可以使用StreamReader 和 StreamWriter类更方便地读写它们。这是因为这些类工作的级别比较高,特别适合于读写文本。它们执行的方法可以根据流的内容,自动检测出停止读取文本较方便的位置,特别是: ????●这些类执行的方法可以一次读写一行文本(StreamReader.ReadLine() 和 StreamWriter.WriteLine())。在读取文件时,流会自动确定下一个回车符的位置,并在该处停止读取。在写入文件时,流会自动把回车符和换行符添加到文本的末尾。???? ????●使用StreamReader 和 StreamWriter类,就不需要担心文件中使用的编码方式(文本格式)了。可能的编码方式是ASCII(一个字节表示一个字符)或者基于Unicode的格式,UNICODE、UTF7和 UTF8.Windows 9x系统上的文本文件总是ASCII格式,因为Windows 9x系统不支持Unicode,但Windows NT、2000、XP和2003都支持Unicode,所以文本文件除了包含ASCII数据之外,理论上可以包含Unicode、UTF7或 UTF8数据。其约定是:如果文件是ASCII格式,就只包含文本。如果是Unicode格式,就用文件的前两个或三个字节来表示,这几个字节可以设置为表示文件中格式的值的特定组合。???? ????这些字节称为字节码标记。在使用标准Windows应用程序打开一个文件时,例如Notepad 或 WordPad,不需要考虑这个问题,因为这些应用程序都支持不同的编码方法,会自动正确地读取文件。StreamReader类也是这样,它可以正确读取任何格式的文件,而StreamWriter类可以使用任何一种编码技术格式化它要写入的文本。另一方面,如果要使用FileStream类读取和显示文本文件,就不必自己处理这个过程了。 ????1. StreamReader类 ????StreamReader用于读

文档评论(0)

1亿VIP精品文档

相关文档