commit eae6db9f38e466a2ab81a35fba5c3101143f3e1a Author: Dani Minguet Date: Wed Oct 5 15:28:27 2022 +0200 MyCat diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..57bca72 --- /dev/null +++ b/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..b4c75b9 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + MyCat + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..8c9943d --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,14 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/README.md b/README.md new file mode 100644 index 0000000..35144b5 --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +PIDE UNA CADENA DE CARACTERES, LA CUAL VA ESCRIBIENDO EN UN ARCHIVO DEFINIDO HASTA QUE SE ESCRIBA UNA CONTRABARRA, +LA CUAL HARÁ PARAR EL PROGRAMA + +Se comprueba que el archivo no existe, si existe se escribirá siguiendo lo que ya había escrito, si no existe, +creará el archivo y empezará a escribir. + +El programa crea un bucle con el cual, mediante la cadena de caracteres obtenida por pantalla, va recorriéndola +hasta que se encuentra una contrabarra o llega al final, en el caso de encontrar una contrabarra, el programa +finaliza y los caracteres que hayan a la derecha de ésta, no serán escritos en el archivo. + +El programa no para hasta encontrar una contrabarra que se le haya pasado por pantalla en la cadena. + +He tenido que obtener la contrabarra mediante un String con dos contrabarras y definiéndola con el método +".charAt(0)". + +``` +Introduce caracteres(introduce la contrabarra para parar): +ceik +Introduce caracteres(introduce la contrabarra para parar): +efew +Introduce caracteres(introduce la contrabarra para parar): +ef\fr +Resultado fichero: +ceikefewef +``` \ No newline at end of file diff --git a/bin/module-info.class b/bin/module-info.class new file mode 100644 index 0000000..b440e0d Binary files /dev/null and b/bin/module-info.class differ diff --git a/bin/myCat/com/daniminguet/com/es/MyCat.class b/bin/myCat/com/daniminguet/com/es/MyCat.class new file mode 100644 index 0000000..29f5e4e Binary files /dev/null and b/bin/myCat/com/daniminguet/com/es/MyCat.class differ diff --git a/src/module-info.java b/src/module-info.java new file mode 100644 index 0000000..3bd8063 --- /dev/null +++ b/src/module-info.java @@ -0,0 +1,3 @@ +module MyCat { + exports myCat.com.daniminguet.com.es; +} \ No newline at end of file diff --git a/src/myCat/com/daniminguet/com/es/MyCat.java b/src/myCat/com/daniminguet/com/es/MyCat.java new file mode 100644 index 0000000..c60fd25 --- /dev/null +++ b/src/myCat/com/daniminguet/com/es/MyCat.java @@ -0,0 +1,83 @@ +package myCat.com.daniminguet.com.es; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.Scanner; + +public class MyCat { + //Ruta del archivo donde se escribirá el resultado + public static final String RUTA = "C:\\Users\\Dani\\OneDrive\\Documentos\\AccesoADatos\\fichero2.txt"; + + public static void main(String[] args) { + File archivo = new File(RUTA); + + try{ + //Si el archivo existe, escribirá siguiendo el contenido que ya consta en él + if(archivo.exists()) { + FileWriter fw = new FileWriter(archivo, true); + escribir(fw); + + fw.flush(); + fw.close(); + //Si el archivo no existe, lo creará y empezará a escribir en él + } else { + FileWriter fw=new FileWriter(archivo); + escribir(fw); + + fw.flush(); + fw.close(); + } + + //Se muestra la cadena de caracteres escritos en el archivo antes de encontrar una contrabarra + FileReader frResultado = new FileReader(RUTA); + BufferedReader brResultado = new BufferedReader(frResultado); + + System.out.println("Resultado fichero:"); + System.out.println(brResultado.readLine()); + + frResultado.close(); + brResultado.close(); + }catch(IOException e){ + System.out.println("Error E/S: "+e); + } + + + } + + public static void escribir(FileWriter fw) throws IOException { + //Lector por pantalla + Scanner lector = new Scanner(System.in); + + //Boolean que define si encuentra una contrabarra + boolean parar = false; + //String donde se obtendrá la cadena de caracteres pasada por pantalla + String recibePorPantalla; + //String de donde se obtiene la contrabarra + String contrabarra = "\\"; + + do { + //Obtiene una cadena de caracteres por pantalla + System.out.println("Introduce caracteres(introduce la contrabarra para parar):"); + recibePorPantalla = lector.nextLine(); + try { + for(int i = 0; i < recibePorPantalla.length(); i++) { + //Si encuentra una contrabarra en la cadena, parará el bucle + if(recibePorPantalla.charAt(i) == contrabarra.charAt(0)) { + parar = true; + break; + //Si no encuentra contrabarra, irá escribiendo en el archivo de caracter en caracter + } else { + fw.write(recibePorPantalla.charAt(i)); + } + System.out.print(recibePorPantalla.charAt(i)); + } + System.out.print("\n"); + } catch(NullPointerException npe) { + } + } while(parar == false); + } +}