写入文件-nemerle

时间:2019-03-26 15:44:50

标签: nemerle

我想逐行读取文件中的文本,并逐行-将其写入新文件。

我在nemerle使用以下代码:

module Program
{
  Main() : void
  {
 mutable dirInfo= System.IO.DirectoryInfo(@"C:\Users\David Ben Michael\source\repos\nemerle\files");
 def fileNames=dirInfo.GetFiles();

 foreach ( fi in fileNames)
    {    
     mutable fileExt;
     fileExt= System.IO.Path.GetExtension(fi.FullName);                          
      if (fileExt == ".vm" )
      {
          def sr = System.IO.StreamReader(fi.FullName);
        //  def sw =System.IO.StreamWriter(@"C:\Users\David Ben Michael\source\repos\nemerle\files\output.asm");
          mutable line = sr.ReadLine ();

    while (line != null) { 
    System.IO.File.AppendAllText(@"C:\Users\David Ben Michael\source\repos\nemerle\files\output.asm",line);

        //sw.Writeline(line);
     line = sr.ReadLine ();
 }}
      else{}

    } 

}

}

以这种方式:最终,我在“ .asm”文件中获取了“ .vm”文件内容的副本,两行之间没有间断。我想分开。因此,与其使用指令System.IO.File.AppendAllText(@"C:\Users\David Ben Michael\source\repos\nemerle\files\output.asm",line); 我使用了以下代码:

  if (fileExt == ".vm" )
      {
          def sr = System.IO.StreamReader(fi.FullName);
          def sw =System.IO.StreamWriter(@"C:\Users\David Ben Michael\source\repos\nemerle\files\output.asm");
          mutable line = sr.ReadLine ();

    while (line != null) { 
    //System.IO.File.AppendAllText(@"C:\Users\David Ben Michael\source\repos\nemerle\files\output.asm",line);

        sw.WriteLine(line);
     line = sr.ReadLine ();

在这种情况下,编译器将创建空文件(!)。 为什么文件为空?以及我如何解决这个问题?

谢谢

0 个答案:

没有答案