Существует много различных способов чтения и записи файлов ( текстовых , а не двоичных) в C #.
Мне просто нужно что-то простое и использующее наименьшее количество кода, потому что я собираюсь много работать с файлами в своем проекте. Мне нужно только что-то, string
потому что все, что мне нужно, это читать и писать string
с.
string.Write(filename)
. Почему решение Microsoft проще, чем у меня?"foo".Write(fileName)
вы можете легко создать расширение для этогоpublic static Write(this string value, string fileName) { File.WriteAllText(fileName, value);}
и использовать его в своих проектах.В дополнение к
File.ReadAllText
,File.ReadAllLines
и иFile.WriteAllText
(и аналогичные помощники изFile
класса), показанные в другом ответе, вы можете использоватьStreamWriter
/StreamReader
классы.Написание текстового файла:
Чтение текстового файла:
Ноты:
readtext.Dispose()
вместоusing
, но он не закроет файл / читатель / писатель в случае исключенийusing
/Close
является очень распространенной причиной «почему данные не записываются в файл».источник
using
ваши потоки, как показано в другом ответе - stackoverflow.com/a/7571213/477420using System.IO;
использовать StreamWriter и StreamReader .new StreamWriter("write.txt", true)
он создаст файл, если файл не существует, иначе он добавится к существующему файлу.источник
fs
в конце?Простой, легкий, а также удаляет / очищает объект, как только вы закончите с ним.
источник
Самый простой способ чтения из файла и записи в файл:
источник
File.WriteAllText
написать часть?@AlexeiLevenkov указал мне на другой «самый простой способ», а именно метод расширения . Требуется лишь небольшое программирование, а затем обеспечивается абсолютно простой способ чтения / записи, а также гибкость в создании вариантов в соответствии с вашими личными потребностями. Вот полный пример:
Это определяет метод расширения для
string
типа. Обратите внимание, что единственное, что действительно имеет значение, это аргумент функции с дополнительным ключевым словомthis
, который заставляет его ссылаться на объект, к которому прикреплен метод. Имя класса не имеет значения; класс и метод должны быть объявленыstatic
.Вот как использовать
string extension method
, обратите внимание, что это автоматически относится кclass Strings
:Я бы никогда не нашел это сам, но это прекрасно работает, поэтому я хотел поделиться этим. Радоваться, веселиться!
источник
Это лучшие и наиболее часто используемые методы записи и чтения из файлов:
Старым способом, которому меня учили в колледже, было использование потокового считывателя / потокового писателя, но файл методы ввода-вывода менее громоздки и требуют меньше строк кода. Вы можете ввести «Файл». в вашей IDE (убедитесь, что вы включили оператор импорта System.IO) и посмотрите все доступные методы. Ниже приведены примеры методов чтения / записи строк в / из текстовых файлов (.txt.) С помощью приложения Windows Forms.
Добавить текст в существующий файл:
Получите имя файла от пользователя через проводник / диалог открытия файла (он понадобится вам для выбора существующих файлов).
Получить текст из существующего файла:
источник
Или, если вы действительно о линиях:
System.IO.File также содержит статический метод WriteAllLines , так что вы можете сделать:
источник
При чтении полезно использовать элемент управления OpenFileDialog для поиска любого файла, который вы хотите прочитать. Найдите код ниже:
Не забудьте добавить следующую
using
инструкцию для чтения файлов:using System.IO;
Для записи файлов вы можете использовать метод
File.WriteAllText
.источник
источник
Вы ищете
File
,StreamWriter
иStreamReader
классы.источник
источник