Запустите Visual Studio.
В меню Файл выберите команду Создать, а затем — пункт Проект.
Типы проектоввыберите вариант Проекты Visual C# и в группе Шаблоны щелкните Консольное приложение. Примечание В Visual Studio 2005 или Visual Studio 2008 выберите C# в списке Типы проектови в группеШаблоны щелкните Консольное приложение CLR.
Добавьте следующий код в начало файла Class1.Cs.
using System.IO;
Добавьте следующий код в метод Main . :
try
{
//Pass the filepath and filename to the StreamWriter Constructor
StreamWriter sw = new StreamWriter("C:\\Test.txt");
//Write a line of text
sw.WriteLine("Hello World!!");
//Write a second line of text
sw.WriteLine("From the StreamWriter class");
//Close the file
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
В меню Отладка выберите команду Пуск для компиляции и запуска приложения. Этот код создает файл с именем Test.txt на диске C. открытого файла Test.txt в текстовый редактор, например Блокнот. Test.txt содержит две строки текста:
Hello World!!
From the StreamWriter class
Запись в текстовый файл (пример 2)
В следующем коде используется класс StreamWriter для открытия, записи и закройте текстовый файл. В отличие от предыдущего примера этот код передает конструктору два дополнительных параметра. Первый параметр является путь к файлу и имя файла. Второй параметр, значение True, указывает, что файл открыт в режиме добавления. Если задатьзначение False для второго параметра, содержимое файла перезаписывается каждый раз при выполнении кода. Третий параметр указывает Юникода, так что StreamWriter кодирует файл в формате Юникод. Можно также указать следующие методы кодирования для третьего параметра:
ASC11
Юникод
UTF7
UTF8
Метод Write аналогичен метод WriteLine , за исключением того, что метод Write не автоматически встраивает символы возврата каретки или перевода строки (CR/LF) сочетание знаков. Это полезно, когда требуется написать один символ одновременно.
Запустите Visual Studio.
В меню Файл выберите команду Создать, а затем — пункт Проект.
Типы проектоввыберите вариант Проекты Visual C# и в группе Шаблоны щелкните Консольное приложение Примечание В Visual Studio 2005 или Visual Studio 2008 выберите C# в списке Типы проектови в группеШаблоны щелкните Консольное приложение
Добавьте следующий код в начало файла Class1.cs ..
using System.IO;
using System.Text;
Примечание В Visual Studio 2005 или Visual Studio 2008 файл по умолчанию является файл Program.cs.
Добавьте следующий код в метод Main . :
Int64 x;
try
{
//Open the File
StreamWriter sw = new StreamWriter("C:\\Test1.txt", true, Encoding.ASCII);
//Writeout the numbers 1 to 10 on the same line.
for(x=0; x < 10; x++)
{
sw.Write(x);
}
//close the file
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
В меню Отладка выберите команду Пуск для компиляции и запуска приложения. Этот код создает файл с именем Test1.txt на диске C. открыть Test1.txt в текстовом редакторе, таком как Блокнот. Test1.txt содержит одну строку текста:
0123456789
Полный пример кода
Чтение текстового файла
//Read a Text File
using System;
using System.IO;
namespace readwriteapp
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
String line;
try
{
//Pass the file path and file name to the StreamReader constructor
StreamReader sr = new StreamReader("C:\\Sample.txt");
//Read the first line of text
line = sr.ReadLine();
//Continue to read until you reach end of file
while (line != null)
{
//write the lie to console window
Console.WriteLine(line);
//Read the next line
line = sr.ReadLine();
}
//close the file
sr.Close();
Console.ReadLine();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
}
}
}
Запись в текстовый файл (версия 1)
//Write a text file - Version-1
using System;
using System.IO;
namespace readwriteapp
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
try
{
//Pass the filepath and filename to the StreamWriter Constructor
StreamWriter sw = new StreamWriter("C:\\Test.txt");
//Write a line of text
sw.WriteLine("Hello World!!");
//Write a second line of text
sw.WriteLine("From the StreamWriter class");
//Close the file
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
}
}
}
Запись в текстовый файл (версия 2)
//Write a text file - Version 2
using System;
using System.IO;
using System.Text;
namespace readwriteapp
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
Int64 x;
try
{
//Open the File
StreamWriter sw = new StreamWriter("C:\\Test1.txt", true, Encoding.ASCII);
//Writeout the numbers 1 to 10 on the same line.
for(x=0; x < 10; x++)
{
sw.Write(x);
}
//close the file
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
}
}
}
Устранение неполадок
Для всех манипуляций с файлами перенос кода в блок try-catch-finally для обработки ошибок и исключений является хорошим стилем программирования. В частности необходимо освободить обрабатывает файл в последний блок таким образом, файл заблокирован не бесконечно. Некоторые возможные ошибки включают файл, который не существует, или файл, который уже используется.
Выводы:
Все необходимые классы находятся в пространстве имен System.IO.
Создание файла.
Для этого воспользуемся классом FileInfo из пространства имен System.IO. В конструктор передаем имя будущего файла. Создание файла производится вызовом метода Create().
FileInfo fi = new FileInfo("new.txt"); fi.Create(); |
Удаление файла.
Все аналогично предыдущему примеру. Для удаления файла используем метод Delete().
FileInfo fi = new FileInfo("new.txt"); fi.Delete(); |
Запись в файл.
Для записи (а в последующем и для чтения) в файл мы будем использовать символьные потоки позволяющие оперировать непосредственно с символами Unicode.
StreamWriter sw = new StreamWriter("name.txt"); sw.WriteLine("блаблабла"); sw.Close(); |
После всех действий над файлом не забываем закрывать его используя метод Close(), в противном случае изменения в файле не только не будут сохранены. Приведеный выше пример записи файла полностью перезаписывает его, если же надо дописать в конец файла:
StreamWriter sw; FileInfo fi = new FileInfo("name.txt"); sw = fi.AppendText(); sw.WriteLine("blablabla"); sw.Close(); |
