Чтение из файла в C#
Код следующий:
...
string fullpath;
fullpath = Path.GetFullPath("test.txt");
Console.WriteLine("File at:");
Console.WriteLine(fullpath);
using (StreamReader sw = File.OpenText(fullpath))
{
while (((st=sw.ReadLine())!=null))
Console.WriteLine(st);
}
' Open the stream and read it back.
fs = File.Open(path, FileMode.Open, FileAccess.Read)
Dim b(1024) As Byte
Dim temp As UTF8Encoding = New UTF8Encoding(True)
Do While fs.Read(b, 0, b.Length) > 0
Console.WriteLine(temp.GetString(b))
Loop
Вместо UTF8Encoding подсовываешь свою кодировку.
Ссылка на страницу в локальном MSDN (апрель 2004):
ms-help://MS.MSDNQTR.2004APR.1033/cpref/html/frlrfsystemiofileclassopentopic.htm
Извини, что на VB, думаю разберешься, как это на C#.
using System.IO;
string path = @"c:\test.txt";
if (File.Exists(path))
{
string buf = File.ReadAllText(path, Encoding.UTF8);
MessageBox.Show(buf);
}
В принципе тут StreamReader можно и не использовать, если тебе не нужно дополнительных операций кроме чтения.
Цитата: AD_min
string path = @"c:\test.txt";
Прошу прощения за, быть может, не совсем уместный вопрос, но что обозначает в данном случае символ "@"?
Цитата: vagiz
Прошу прощения за, быть может, не совсем уместный вопрос, но что обозначает в данном случае символ "@"?
Это так называемая verbatim-string, в ней отключены эскейп-последовательности (кроме двойных кавычек) и такой string может располагаться на нескольких строках в исходном тексте.
openFileDialog1.ShowDialog();
string filename = openFileDialog1.FileName;
string text = File.ReadAllText(filename, System.Text.Encoding.GetEncoding(1251));
richTextBox1.AppendText(text+"\n");
char[] ch = new char[text.Length];
ch = text.ToCharArray();
Цитата: bad-dimka
openFileDialog1.ShowDialog();
string filename = openFileDialog1.FileName;
А если пользователь нажал Cancel в диалоге?
Цитата: bad-dimka
string text = File.ReadAllText(filename, System.Text.Encoding.GetEncoding(1251));
А если кодировка в файле, например, UTF-8?
Цитата: bad-dimka
richTextBox1.AppendText(text+"\n");
Литерал "\n" - не комильфо. Используйте Environment.NewLine.
Цитата: bad-dimka
char[] ch = new char[text.Length];
ch = text.ToCharArray();
Руки бы отрывать за такой код... Для чего создавать массив, и тут же терять на него ссылку?
Цитата:
Console.WriteLine(File.ReadAllText(....));
"Дёшево и сердито"