Я хочу читать текст из файла, построчно, а для каждой строки - записывать его в новый файл.
Я использую следующий код в 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{}
}
}
}
Таким образом: в конце концов я получил копию содержимого файла ".vm" в файле ".asm" без перерыва между строками.Я хочу разделить линии.Поэтому вместо использования инструкции 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 ();
В этом случае компилятор создает пустой файл (!).Почему файл пуст?и как я решил эту проблему?
Спасибо