Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_Prog_Guide.doc
Скачиваний:
16
Добавлен:
16.11.2019
Размер:
6.22 Mб
Скачать

Копирование каталогов

В этом примере демонстрируется использование классов ввода-вывода для копирования каталога с одного места на другое. В этом примере пользователь может выбирать, следует ли также копировать подкаталоги. Если подкаталоги копируются, то в этом примере метод рекурсивно копирует их путем вызова самого себя для каждого последующего подкаталога до тех пор, пока не останется ни одного каталога для копирования.

Пример

---------

How to: Open and Append to a Log File

StreamWriter and StreamReader write characters to and read characters from streams. The following code example opens the log.txt file for input, or creates the file if it does not already exist, and appends information to the end of the file. The contents of the file are then written to standard output for display. As an alternative to this example, the information could be stored as a single string or string array, and the WriteAllText or WriteAllLines method could be used to achieve the same functionality.

Example

using System;

using System.IO;

class DirAppend

{

public static void Main(String[] args)

{

using (StreamWriter w = File.AppendText("log.txt"))

{

Log ("Test1", w);

Log ("Test2", w);

// Close the writer and underlying file.

w.Close();

}

// Open and read the file.

using (StreamReader r = File.OpenText("log.txt"))

{

DumpLog (r);

}

}

public static void Log (String logMessage, TextWriter w)

{

w.Write("\r\nLog Entry : ");

w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(),

DateTime.Now.ToLongDateString());

w.WriteLine(" :");

w.WriteLine(" :{0}", logMessage);

w.WriteLine ("-------------------------------");

// Update the underlying file.

w.Flush();

}

public static void DumpLog (StreamReader r)

{

// While not at the end of the file, read and write lines.

String line;

while ((line=r.ReadLine())!=null)

{

Console.WriteLine(line);

}

r.Close();

}

}

Открытие файла журнала и добавление в него данных

Классы StreamWriter и StreamReader предназначены для записи и чтения знаков из потоков. В следующем примере кода открывается файл log.txt в режиме ввода данных (если такого файла не существует, то он будет создан) и добавляется информация в конец файла. Затем содержимое файла передается для отображения в стандартный поток вывода. В качестве альтернативы данные здесь могут храниться как одна строка или как массив строк, а для обеспечения той же функциональности может быть использован метод WriteAllText WriteAllLines.

Пример

------

How to: Write Text to a File

The following code examples show how to write text to a text file.

The first example shows how to add text to an existing file. The second example shows how to create a new text file and write a string to it. Similar functionality can be provided by the WriteAllText methods.

Example

using System;

using System.IO;

class Test

{

public static void Main()

{

// Create an instance of StreamWriter to write text to a file.

// The using statement also closes the StreamWriter.

using (StreamWriter sw = new StreamWriter("TestFile.txt"))

{

// Add some text to the file.

sw.Write("This is the ");

sw.WriteLine("header for the file.");

sw.WriteLine("-------------------");

// Arbitrary objects can also be written to the file.

sw.Write("The date is: ");

sw.WriteLine(DateTime.Now);

}

}

}

using System;

using System.IO;

public class TextToFile

{

private const string FILE_NAME = "MyFile.txt";

public static void Main(String[] args)

{

if (File.Exists(FILE_NAME))

{

Console.WriteLine("{0} already exists.", FILE_NAME);

return;

}

using (StreamWriter sw = File.CreateText(FILE_NAME))

{

sw.WriteLine ("This is my file.");

sw.WriteLine ("I can write ints {0} or floats {1}, and so on.",

1, 4.2);

sw.Close();

}

}

}