Самый простой способ чтения и записи в файлы
существует множество различных способов чтения и записи файлов (текстовые файлы, не двоичный) в C#.
мне просто нужно что-то простое и использует наименьшее количество кода, потому что я буду много работать с файлами в своем проекте. Мне нужно только что-то для string Так как все что мне нужно-это читать и писать string s.
9 ответов:
использовать .ReadAllText и .WriteAllText.
Это не может быть проще...
примеры MSDN:
// Create a file to write to. string createText = "Hello and Welcome" + Environment.NewLine; File.WriteAllText(path, createText); // Open the file to read from. string readText = File.ReadAllText(path);
кроме
File.ReadAllText,File.ReadAllLinesиFile.WriteAllText(и подобные помощники изFileкласс) показано в еще один ответ можно использоватьStreamWriter/StreamReaderклассы.написание текстового файла:
using(StreamWriter writetext = new StreamWriter("write.txt")) { writetext.WriteLine("writing in text file"); }чтение текстового файла:
using(StreamReader readtext = new StreamReader("readme.txt")) { string readMeText = readtext.ReadLine(); }Примечания:
- можно использовать
readtext.Close()вместоusing, но он не закроет файл / читатель / писатель внутри случай исключения- помните, что относительный путь относительно текущего рабочего каталога. Вы можете использовать / построить абсолютный путь.
- отсутствует
using/Closeочень распространенная причина "почему данные не записываются в файл".
FileStream fs = new FileStream(txtSourcePath.Text,FileMode.Open, FileAccess.Read); using(StreamReader sr = new StreamReader(fs)) { using (StreamWriter sw = new StreamWriter(Destination)) { sw.writeline("Your text"); } }
using (var file = File.Create("pricequote.txt")) { ........... } using (var file = File.OpenRead("pricequote.txt")) { .......... }простой, легкий, а также утилизирует/очищает объект, как только вы закончите с ним.
самый простой способ прочитать из файла и записать в файл:
//Read from a file string something = File.ReadAllText("C:\Rfile.txt"); //Write to a file using (StreamWriter writer = new StreamWriter("Wfile.txt")) { writer.WriteLine(something); }
@AlexeiLevenkov указал мне на другой "самый простой способ", а именно метод расширения. Это занимает всего лишь немного кодирования, а затем обеспечивает абсолютный простой способ чтения/записи, плюс он предлагает гибкость для создания вариаций в соответствии с вашими личными потребностями. Вот полный пример:
это определяет метод расширения на
stringтип. Обратите внимание, что единственное, что действительно имеет значение-это аргумент функции с дополнительным ключевым словомthis, что делает его см. к объекту, к которому прикреплен метод. Объявления пространства имен и классов являются необязательными.using System.IO;//File, Directory, Path namespace Lib { /// <summary> /// Handy string methods /// </summary> public static class Strings { /// <summary> /// Extension method to write the string Str to a file /// </summary> /// <param name="Str"></param> /// <param name="Filename"></param> public static void WriteToFile(this string Str, string Filename) { File.WriteAllText(Filename, Str); return; } // of course you could add other useful string methods... }//end class }//end nsэто как использовать
string extension method, обратите внимание, что он автоматически относится кclass Strings:using Lib;//(extension) method(s) for string namespace ConsoleApp_Sandbox { class Program { static void Main(string[] args) { "Hello World!".WriteToFile(@"c:\temp\helloworld.txt"); return; } }//end class }//end nsЯ бы никогда не нашел это сам, но он отлично работает, поэтому я хотел поделиться этим. Получайте удовольствие!
или, если вы действительно про строчки:
System.IO. File также содержит статический метод WriteAllLines, так что вы могли бы сделать:
IList<string> myLines = new List<string>() { "line1", "line2", "line3", }; File.WriteAllLines("./foo", myLines);
это хорошо при чтении, чтобы использовать элемент управления OpenFileDialog для просмотра любого файла, который вы хотите прочитать. Найдите код ниже:
не забудьте добавить следующее
usingинструкция для чтения файлов:using System.IO;private void button1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { textBox1.Text = File.ReadAllText(openFileDialog1.FileName); } }для записи файлов можно использовать метод
File.WriteAllText.
Comments