Java - Abrir un txt, manejarlo linea por linea y guardarl

 
Vista:

Abrir un txt, manejarlo linea por linea y guardarl

Publicado por Esteban C (9 intervenciones) el 20/12/2007 16:54:26
Tengo un txt con muchos links 300 o 400 links , el tema es que necesito sacar los que necesito, por ej, los que sean php, tengo uno por linea en el txt, y quiero dejar lo que necesito realmente, si alguien me puede dar una mano, se los agradezco

http://www.clarin.com.ar
http://foros.emagister.com/foro-NuevoTema.php?id_foro=13041 //Este es el que necesito
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Abrir un txt, manejarlo linea por linea y guard

Publicado por putahostia (69 intervenciones) el 20/12/2007 19:25:20
Me estoy inflando de escribir código. Ajústalo a tus necesidades. Que te diviertas.

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Vector;

public class ProcesarFichero {

private String inputFileName = new String();
private String outputFileName = new String();
private String tipo = null;
private Vector lineasGuardadas = new Vector();

public ProcesarFichero(String fileName, String tipo) {
this.inputFileName = fileName;
this.tipo = tipo;
outputFileName = inputFileName + ".MODIFICADO";
}

public void leer() {

System.out.println(" ##### Iniciando lectura de fichero " + inputFileName + ". ##### ");

File file = new File(inputFileName);
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e) {
// hacer lo oportuno si no se ha encontrado el fichero
System.out.println("No se encuentra el fichero " + inputFileName);
e.printStackTrace(System.err);
}

try {
while (reader.ready()) {
String line = reader.readLine();
// hacer lo necesario con la linea leida
procesarLinea(line);
}
} catch (IOException e) {
// hacer lo oportuno si ocurre un error de lectura
System.out.println("Error de lectura [" + e.getMessage() + "]");
e.printStackTrace();
} catch (NullPointerException npe) {
// hacer lo oportuno si no se ha inicializado el reader
System.out.println("No se puede acceder al fichero ["
+ npe.getMessage() + "].");
npe.printStackTrace(System.err);
}

try {
reader.close();
} catch (IOException e) {
// hacer lo oportuno si ocurre un error al cerrar el fichero
System.out.println("Error cerrando el fichero [" + e.getMessage() + "]");
e.printStackTrace();
}

System.out.println(" ##### Terminada lectura de fichero " + inputFileName + ". #####");

System.out.println(" ##### Empezando escritura de fichero " + outputFileName + ". #####");
try {
PrintWriter fw = new PrintWriter(new FileOutputStream(new File(outputFileName)));
for(int i = 0; i < lineasGuardadas.size(); i++) {
fw.println(lineasGuardadas.elementAt(i).toString());
}
}
catch (IOException e) {
System.out.println("Error de escritura " + e.getMessage());
e.printStackTrace();
}

}

private void procesarLinea(String linea) {
if(linea.startsWith(tipo))
lineasGuardadas.add(linea);
}

public static void main(String[] args) {

String nombreFichero = args[0];
String tipo = args[1];

ProcesarFichero leer = new ProcesarFichero(nombreFichero, tipo);
leer.leer();

}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar