|
|
@ -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); |
|
|
|
} |
|
|
|
} |