Hay muchas formas diferentes de leer y escribir archivos ( archivos de texto , no binarios) en C #.
Solo necesito algo que sea fácil y use la menor cantidad de código, porque voy a trabajar mucho con archivos en mi proyecto. Solo necesito algo string
porque todo lo que necesito es leer y escribir string
s.
string.Write(filename)
. ¿Por qué la solución de Microsofts es más simple / mejor que la mía?"foo".Write(fileName)
, puede crear fácilmente extensiones para hacerlopublic static Write(this string value, string fileName) { File.WriteAllText(fileName, value);}
y usarlo en sus proyectos.Además de
File.ReadAllText
,File.ReadAllLines
, yFile.WriteAllText
(y ayudantes similares deFile
clase) que se muestran en otra respuesta se puede usarStreamWriter
/StreamReader
clases.Escribir un archivo de texto:
Leer un archivo de texto:
Notas:
readtext.Dispose()
en lugar deusing
, pero no va a cerrar el archivo / lector / escritor en caso de excepcionesusing
/Close
es una razón muy común de "por qué los datos no se escriben en el archivo".fuente
using
sus corrientes como se muestra en otra respuesta - stackoverflow.com/a/7571213/477420using System.IO;
usar StreamWriter y StreamReader .new StreamWriter("write.txt", true)
creará un archivo si no existe un archivo, de lo contrario se agregará al archivo existente.fuente
fs
al final?Simple, fácil y también desecha / limpia el objeto una vez que haya terminado con él.
fuente
La forma más fácil de leer de un archivo y escribir en un archivo:
fuente
File.WriteAllText
para escribir parte?@AlexeiLevenkov me señaló otra "forma más fácil", a saber, el método de extensión . Solo requiere un poco de codificación, luego proporciona la forma más fácil de leer / escribir, además ofrece la flexibilidad de crear variaciones de acuerdo con sus necesidades personales. Aquí hay un ejemplo completo:
Esto define el método de extensión en el
string
tipo. Tenga en cuenta que lo único que realmente importa es el argumento de la función con una palabra clave adicionalthis
, que hace que se refiera al objeto al que está asociado el método. El nombre de la clase no importa; La clase y el método deben ser declaradosstatic
.Así es como se usa
string extension method
, tenga en cuenta que se refiere automáticamente aclass Strings
:Nunca lo habría encontrado yo mismo, pero funciona muy bien, así que quería compartir esto. ¡Que te diviertas!
fuente
Estos son los mejores y más utilizados métodos para escribir y leer archivos:
La forma antigua, que me enseñaron en la universidad, era usar el lector de secuencias / escritor de secuencias, pero los métodos de E / S de archivos son menos torpes y requieren menos líneas de código. Puede escribir "Archivo". en su IDE (asegúrese de incluir la declaración de importación System.IO) y vea todos los métodos disponibles. A continuación se presentan métodos de ejemplo para leer / escribir cadenas en / desde archivos de texto (.txt.) Utilizando una aplicación de formularios Windows Forms.
Agregar texto a un archivo existente:
Obtenga el nombre del archivo del usuario a través del explorador de archivos / diálogo de archivo abierto (lo necesitará para seleccionar los archivos existentes).
Obtener texto de un archivo existente:
fuente
O, si realmente te interesan las líneas:
System.IO.File también contiene un método estático WriteAllLines , por lo que puede hacer:
fuente
Es bueno cuando se lee para usar el control OpenFileDialog para buscar cualquier archivo que desee leer. Encuentra el código a continuación:
No olvide agregar la siguiente
using
declaración para leer archivos:using System.IO;
Para escribir archivos puedes usar el método
File.WriteAllText
.fuente
fuente
Usted está buscando los
File
,StreamWriter
yStreamReader
las clases.fuente
fuente