elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [C#] [Aporte] Administrador de archivos (crear/leer/editar/borrar)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C#] [Aporte] Administrador de archivos (crear/leer/editar/borrar)  (Leído 6,181 veces)
DeMoNcRaZy


Desconectado Desconectado

Mensajes: 420


$~*|_


Ver Perfil
[C#] [Aporte] Administrador de archivos (crear/leer/editar/borrar)
« en: 3 Septiembre 2015, 15:20 pm »

Buenas,

Hoy traigo un mini aporte de Crear/Leer/Editar/Borrar archivos (.txt) estoy inicializando en C#, no es gran cosa pero tal ves a alguien le puede servir de utilidad.

Este programa lo que hace es crear archivos con datos personales, que los guarda en una ruta especifica y luego podemos leerlo, editarlo o borrarlo según nuestro gusta. Los datos que nos piden son el Nombre, Apellidos y DNI. (Se puede añadir o quietar más opciones según desee el usuario) (modificas dichas líneas de código)

Antes de empezar tengo que advertir de que tienen que editar las rutas de las carpetas, ya que las tengo definidas para mi pc.

Código
  1. @"C:\Users\Usuario\Desktop\Textos\carpetaArchivos\" + nombreArchivo + ".txt"
  2.  

Todas las definiciones de rutas, han de cambiarlas por su ruta.
En todas las clases se encuentra una variable con dicha ruta, por ello necesita esa única modificación.

Empecemos por la clase main:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.IO;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Prueba10_CrearArchivo
  9. {
  10.    class Program
  11.    {
  12.        static void Main(string[] args)
  13.        {
  14.            //Importamos las clases
  15.            clsCrear Crear = new clsCrear();
  16.            clsLeer Leer = new clsLeer();
  17.            clsEditar Editar = new clsEditar();
  18.            clsBorrar Borrar = new clsBorrar();
  19.            //Pedimos que opcion realizar
  20.            Console.WriteLine("-> crear (creacion de un archivo nuevo)");
  21.            Console.WriteLine("-> leer (leemos el contenido del archivo)");
  22.            Console.WriteLine("-> editar (editamos el contenido del archivo)");
  23.            Console.WriteLine("-> borrar (borrar el archivo seleecionado)");
  24.            Console.WriteLine("\nElija una opcion a realizar:");
  25.            string opcion = Console.ReadLine();
  26.  
  27.            string repetir;
  28.            //Verificamos la accion de cada opcion a realizar
  29.            if (opcion == "crear")
  30.            {
  31.                do
  32.                {
  33.                    //Ejecutamos el proceso
  34.                    Crear.crearArchivo();
  35.                    //Preguntamos si queremos repetir de nuevo el mismo proceso
  36.                    Console.WriteLine("\nDeseas crear otro archivo? (si/no)");
  37.                    repetir = Console.ReadLine();
  38.                } while (repetir == "si");
  39.            }
  40.            else if (opcion == "leer")
  41.            {
  42.                do
  43.                {
  44.                    Leer.archivoLeer();
  45.                    Console.WriteLine("\nDeseas crear otro archivo? (si/no)");
  46.                    repetir = Console.ReadLine();
  47.                } while (repetir == "si");
  48.            }
  49.            else if (opcion == "editar")
  50.            {
  51.                do
  52.                {
  53.                    Editar.archivoEditar();
  54.                    Console.WriteLine("\nDeseas crear otro archivo? (si/no)");
  55.                    repetir = Console.ReadLine();
  56.                } while (repetir == "si");
  57.            }
  58.            else if (opcion == "borrar")
  59.            {
  60.                do
  61.                {
  62.                    Borrar.archivoBorrar();
  63.                    Console.WriteLine("\nDeseas borrar otro archivo? (si/no)");
  64.                    repetir = Console.ReadLine();
  65.                } while (repetir == "si");
  66.            }
  67.            else
  68.            {
  69.                Console.WriteLine("La opcion seleccionada parece no existir.");
  70.            }
  71.  
  72.            Console.ReadKey();
  73.        }
  74.    }
  75. }
  76.  

Creamos una clase llamada clsCrear e introduciremos lo siguiente:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.IO;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Prueba10_CrearArchivo
  9. {
  10.    public class clsCrear
  11.    {
  12.        public void crearArchivo()
  13.        {
  14.            //Seleccionamos la carpeta.
  15.            string folderName = @"C:\Users\Usuario\Desktop\Textos";
  16.            //La subcarpeta donde se crearan los archivos
  17.            string pathString = System.IO.Path.Combine(folderName, "carpetaArchivos");
  18.  
  19.            string pathString2 = @"C:\Users\Usuario\Desktop\Textos\carpetaArchivos";
  20.            //Creamos la subcarpeta
  21.            System.IO.Directory.CreateDirectory(pathString);
  22.            //Pedimos un nombre para el archivo
  23.            Console.WriteLine("\nIntroduzca el DNI (Nombre de archivo):");
  24.            string nombreFile = Console.ReadLine();
  25.  
  26.            string fileName = nombreFile + ".txt";
  27.  
  28.            pathString = System.IO.Path.Combine(pathString, fileName);
  29.            //Verificamos si existe el archivo
  30.            if (System.IO.File.Exists(pathString))
  31.            {
  32.                Console.WriteLine("\nEl archivo ya existe.");
  33.            }
  34.            else
  35.            {
  36.                //Si el archivo no existe, pedimos un nombre de usuario para escribir en el archivo
  37.                Console.WriteLine("\nIntroduzca su nombre:");
  38.                string clienteNombre = Console.ReadLine();
  39.                Console.WriteLine("Introduzca sus apellidos:");
  40.                string clienteApellidos = Console.ReadLine();
  41.                Console.WriteLine("Introduzca su dni");
  42.                string clienteDni = Console.ReadLine();
  43.  
  44.                using (StreamWriter sw = new StreamWriter(pathString))
  45.                {
  46.                    sw.WriteLine("Nombre: " + clienteNombre);
  47.                    sw.WriteLine("Apellidos: " + clienteApellidos);
  48.                    sw.WriteLine("DNI: " + clienteDni);
  49.  
  50.                }
  51.                //Mostramos la ruta donde se guardo el archivo
  52.                Console.WriteLine("\nSe ha guardado en: {0}", pathString);
  53.            }
  54.            //Pedimos que presione una tecla para salir del programa
  55.            Console.WriteLine("Precione una tecla para salir.");
  56.        }
  57.    }
  58. }
  59.  

Creamos de nuevo otra clase llamada clsLeer e introducimos lo siguiente:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.IO;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Prueba10_CrearArchivo
  9. {
  10.    public class clsLeer
  11.    {
  12.        public void archivoLeer()
  13.        {
  14.            //Pedimos el nombre de archivo (dni)
  15.            Console.WriteLine("\nIntroduce el archivo a buscar:");
  16.            string searchFile = Console.ReadLine();
  17.            Console.WriteLine("\n");
  18.            //Verificamos la ruta del archivo
  19.            string path = @"C:\\Users\\Usuario\\Desktop\\Textos\\carpetaArchivos\\" + searchFile + ".txt";
  20.            //Comprobamos si existe el archivo especificado
  21.            if (System.IO.File.Exists(path))
  22.            {
  23.                System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\Usuario\Desktop\Textos\carpetaArchivos\" + searchFile + ".txt");
  24.  
  25.                int counter = 0;
  26.                string line;
  27.                //Mostramos todas las lineas que hay escritas en el archivo
  28.                while ((line = file.ReadLine()) != null)
  29.                {
  30.                    Console.WriteLine(line);
  31.                    counter++;
  32.                }
  33.  
  34.                file.Close();
  35.            }
  36.            else
  37.            {
  38.                Console.WriteLine("El archivo especificado no se ha encontrado.");
  39.            }
  40.        }
  41.    }
  42. }
  43.  

Creamos una clase llamada clsEditar y introducimos lo siguiente:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.IO;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Prueba10_CrearArchivo
  9. {
  10.    public class clsEditar
  11.    {
  12.        public void archivoEditar()
  13.        {
  14.            //Pedimos el nombre del fichero (dni)
  15.            Console.WriteLine("\nIntroduzca el DNI para editar:");
  16.            string nombreArchivo = Console.ReadLine();
  17.            //Especificamos la ruta del archivo
  18.            string path = @"C:\\Users\\Usuario\\Desktop\\Textos\\carpetaArchivos\\" + nombreArchivo + ".txt";
  19.            //Verificamos que existe el archivo
  20.            if (System.IO.File.Exists(path))
  21.            {
  22.                string nombre = "Nombre: ";
  23.                string apellidos = "Apellidos: ";
  24.                //Pedimos los datos nuevos
  25.                Console.WriteLine("\nIntroduzca el nombre:");
  26.                string nuevoNombre = Console.ReadLine();
  27.                Console.WriteLine("Introduzca el/los apellidos:");
  28.                string nuevoApellido = Console.ReadLine();
  29.                //Leemos todas las lineas que se encuentra en el archivo
  30.                var lines = File.ReadAllLines(path);
  31.                //Reemplazamos los datos nuevos por los viejos
  32.                var replaced = lines.Select(x =>
  33.                {
  34.                    if (x.StartsWith(nombre))
  35.                        return nombre + nuevoNombre;
  36.                    if (x.StartsWith(apellidos))
  37.                        return apellidos + nuevoApellido;
  38.                    return x;
  39.                });
  40.  
  41.                File.WriteAllLines(path, replaced);
  42.                //Mostramos el resultado de la modificacion del archivo
  43.                System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\Usuario\Desktop\Textos\carpetaArchivos\" + nombreArchivo + ".txt");
  44.                int counter = 0;
  45.                string line;
  46.  
  47.                Console.WriteLine("\n");
  48.                while ((line = file.ReadLine()) != null)
  49.                {
  50.                    Console.WriteLine(line);
  51.                    counter++;
  52.                }
  53.  
  54.                Console.WriteLine("\nEl archivo se ha modificado correctamente.");
  55.            }
  56.            else
  57.            {
  58.                Console.WriteLine("El archivo especificado no se ha encontrado.");
  59.            }
  60.        }
  61.    }
  62. }
  63.  

Y por último creamos una clase llamada clsBorrar y insertamos lo siguiente:

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.IO;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Prueba10_CrearArchivo
  9. {
  10.    public class clsBorrar
  11.    {
  12.        public void archivoBorrar()
  13.        {
  14.            //Pedimos el nombre del archivo (dni)
  15.            Console.WriteLine("\nIntroduzca el DNI para eliminar el fichero:");
  16.            string nombreArchivo = Console.ReadLine();
  17.            //Especificamos la ruta del archivo
  18.            string pathString = @"C:\Users\Usuario\Desktop\Textos\carpetaArchivos\" + nombreArchivo + ".txt";
  19.            //Comprobamos que el archivo exite
  20.            if (System.IO.File.Exists(pathString))
  21.            {
  22.                //Preguntamos si esta seguro de borrar el archivo
  23.                Console.WriteLine("Seguro que desea borrar el archivo? (si/no)");
  24.                string confirmar = Console.ReadLine();
  25.                //Si la respues es 'si' se procederá a borrarse dicho archivo seleccionado
  26.                if(confirmar == "si")
  27.                {
  28.                    File.Delete(@"C:\Users\Usuario\Desktop\Textos\carpetaArchivos\" + nombreArchivo + ".txt");
  29.                    Console.WriteLine("\nEl archivo ha sido eliminado correctamente.");
  30.                }
  31.                else
  32.                {
  33.                    Console.WriteLine("\nHa cancelado el borrado de archivos correctamente.");
  34.                }
  35.            }
  36.            else
  37.            {
  38.                Console.WriteLine("\nEl archivo no se ha encontrado.");
  39.            }
  40.        }
  41.    }
  42. }
  43.  


Una vez tengamos todo, ejecutamos y debería funcionar correctamente.

De igual modo aquí dejaré la descarga de los archivos (proyecto en Visual Studio) (No incluye .exe por normas del foro y por seguridad a futuras infecciones)

Descarga: https://mega.nz/#!OVUXUaxK!fJzzKyj9YKm2MRlPsNr87ZRtoKFKpIqyagcrO5wlpIY

Previa de como quedaría los archivos:





Espero que les puedan servir de utilidad dicho aporte.

Saludos.


« Última modificación: 3 Septiembre 2015, 15:25 pm por YuseTist » En línea

Esta página web no está disponible - Google Chrome
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: [C#] [Aporte] Administrador de archivos (crear/leer/editar/borrar)
« Respuesta #1 en: 5 Septiembre 2015, 16:29 pm »

Gracias por compartir con los demás.

saludos


En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Aporte]Leer Archivo y Modificar Linea Especificada
Programación Visual Basic
ranslsad 1 1,865 Último mensaje 28 Agosto 2007, 15:37 pm
por Tengu
[APORTE] Ocultar Aplicación en Administrador de Tareas
.NET (C#, VB.NET, ASP)
kub0x 7 11,276 Último mensaje 3 Diciembre 2020, 21:11 pm
por eotinianor
[Aporte] Java-Leer cantidades (consola)
Java
Senior++ 2 2,903 Último mensaje 16 Julio 2012, 06:26 am
por hucruz
[vsftpd] No puedo editar, ni borrar archivos
Redes
Servia 6 5,998 Último mensaje 5 Marzo 2014, 20:20 pm
por Servia
Como crear, leer archivos .txt en Laravel php ????????????
PHP
Marioxx 1 9,170 Último mensaje 28 Febrero 2019, 05:41 am
por srWhiteSkull
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines