@ -0,0 +1,10 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<classpath> | |||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"> | |||||
<attributes> | |||||
<attribute name="module" value="true"/> | |||||
</attributes> | |||||
</classpathentry> | |||||
<classpathentry kind="src" path="src"/> | |||||
<classpathentry kind="output" path="bin"/> | |||||
</classpath> |
@ -0,0 +1,17 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<projectDescription> | |||||
<name>MyCat</name> | |||||
<comment></comment> | |||||
<projects> | |||||
</projects> | |||||
<buildSpec> | |||||
<buildCommand> | |||||
<name>org.eclipse.jdt.core.javabuilder</name> | |||||
<arguments> | |||||
</arguments> | |||||
</buildCommand> | |||||
</buildSpec> | |||||
<natures> | |||||
<nature>org.eclipse.jdt.core.javanature</nature> | |||||
</natures> | |||||
</projectDescription> |
@ -0,0 +1,2 @@ | |||||
eclipse.preferences.version=1 | |||||
encoding/<project>=UTF-8 |
@ -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 |
@ -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 | |||||
``` |
@ -0,0 +1,3 @@ | |||||
module MyCat { | |||||
exports myCat.com.daniminguet.com.es; | |||||
} |
@ -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); | |||||
} | |||||
} |