Самый простой способ чтения и записи в файлы



существует множество различных способов чтения и записи файлов (текстовые файлы, не двоичный) в C#.



мне просто нужно что-то простое и использует наименьшее количество кода, потому что я буду много работать с файлами в своем проекте. Мне нужно только что-то для string Так как все что мне нужно-это читать и писать string s.

538   9  

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.

Вы ищите File,StreamWriter и StreamReader классы.

Comments

    Ничего не найдено.