AyudaArchivosJava
Publicado por HECTOR ENRIQUE (3 intervenciones) el 06/12/2018 04:13:59

necesito su ayuda porfa gracias a todo el que pueda ayudar
Valora esta pregunta


-2







import java.io.*;
class LeeFichero {public static void main(String [] arg) {
File archivo = null; FileReader fr = null; BufferedReader br = null; try { // Apertura del fichero y creacion de BufferedReader para poder
// hacer una lectura comoda (disponer del metodo readLine()).
archivo = new File ("C:\\archivo.txt");
fr = new FileReader (archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while((linea=br.readLine())!=null)
System.out.println(linea);
}catch(Exception e){
e.printStackTrace();
}finally{
// En el finally cerramos el fichero, para asegurarnos
// que se cierra tanto si todo va bien como si salta
// una excepcion.
try{if( null != fr ){
fr.close();
}}catch (Exception e2){
e2.printStackTrace();
} } }}

RANCHO001 10 2 1
RANCHO002 25 5 1
RANCHO003 25 6 1
RANCHO004 27 4 1
RANCHO005 26 3 1
RANCHO006 24 2 1
1 1 0
1 1 0
1 1 0
1 1 0
2 2 0
2 1 0
2 1 0
2 1 0
2 1 0
3 1 0
3 1 0
3 1 0
3 2 0
3 1 0
3 1 0
3 1 0
linea.split("\t");


import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class GenerarRancho {private static GenerarRancho generarRancho;
public static final String PATH_RANCHOS_DAT = "D:\\descargas\\RANCHOS.txt";
private Map<String, Rancho> ranchos = new HashMap();
private GenerarRancho() {
File archivo;
FileReader fr = null;BufferedReader br;
try {archivo = new File(PATH_RANCHOS_DAT);
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while ((linea = br.readLine()) != null) {
Rancho r = loadRancho(linea);
ranchos.put(r.getNombre(), r);
}} catch (IOException e) {
e.printStackTrace(System.out);
} finally {
try {if (fr != null) {
fr.close();
}} catch (IOException e2) {
e2.printStackTrace(System.out);
} } }public static GenerarRancho getInstance() {
if (generarRancho == null) {
generarRancho = new GenerarRancho();
}return generarRancho;
}private Rancho loadRancho(String linea) {
Rancho r = new Rancho();
String[] f = linea.split("\t");
r.setNombre(f[0]);
r.setTotalVacas(Integer.parseInt(f[1]));
r.setTotalToros(Integer.parseInt(f[2]));
r.setApPrimerAnimal(Integer.parseInt(f[3]));
return r;
}@Override
public String toString() {
String s = "";
for (String k : ranchos.keySet()) {
Rancho v = ranchos.get(k);
s += k + "\t" + v.getTotalVacas() + "\t" + v.getTotalToros() + "\t" + v.getApPrimerAnimal() + "\n";
}return s;
}public static void main(String[] args) {
System.out.println(GenerarRancho.getInstance().toString());
}}import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GenerarGanado {private static GenerarGanado generarGanado;
public static final String PATH_ANIMALES_DAT = "D:\\descargas\\ANIMALES.txt";
private Map<String, Rancho> ranchos = new HashMap();
private List<String> registros;
/**
* Constructor de la clase
*/private GenerarGanado() {
File archivo;
FileReader fr = null;BufferedReader br;
try {archivo = new File(PATH_ANIMALES_DAT);
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
registros = new ArrayList();
while ((linea = br.readLine()) != null) {
registros.add(linea);
Animal a = loadAnimal(linea);
String idRancho = getRanchoNameFromId(a.getIdRancho());
if (ranchos.containsKey(idRancho)) {
ranchos.get(idRancho).setTotalToros(ranchos.get(idRancho).getTotalToros() + (a.getTipo() == 2 ? 1 : 0));
ranchos.get(idRancho).setTotalVacas(ranchos.get(idRancho).getTotalVacas() + (a.getTipo() == 1 ? 1 : 0));
} else {
Rancho rancho = new Rancho();
rancho.setNombre(getRanchoNameFromId(a.getIdRancho()));
rancho.setTotalToros(a.getTipo() == 2 ? 1 : 0);
rancho.setTotalVacas(a.getTipo() == 1 ? 1 : 0);
rancho.setApPrimerAnimal(a.getSiguiente());
ranchos.put(rancho.getNombre(), rancho);
} }} catch (IOException e) {
e.printStackTrace(System.out);
} finally {
try {if (fr != null) {
fr.close();
}} catch (IOException e2) {
e2.printStackTrace(System.out);
} } } /**
* Devuelve una instancia de la clase GenerarGanado
*
* @return
*/public static GenerarGanado getInstance() {
if (generarGanado == null) {
generarGanado = new GenerarGanado();
}return generarGanado;
} /**
* Genera un objeto Animal en base a la línea que representa un registro del
* archivo ANIMALES.DAT
*
* @param linea
* @return
*/private Animal loadAnimal(String linea) {
Animal a = new Animal();
String[] f = linea.split("\t");
a.setIdRancho(Integer.parseInt(f[0]));
a.setTipo(Integer.parseInt(f[1]));
a.setSiguiente(Integer.parseInt(f[2]));
return a;
}private String getRanchoNameFromId(Integer id) {
String name = "RANCHO";
if (id.toString().length() < 3) {
for (int i = 0; i < 3 - id.toString().length(); i++) {
name += "0";
} } return name + id; } /**
* Devuelve un mapa con los ranchos calculados, producto de la lectura del
* archivo de ANIMALES
*
* @return
*/public Map<String, Rancho> getRanchosCalculados() {
return ranchos;
}@Override
public String toString() {
String s = "Ranchos:\n";
for (String k : ranchos.keySet()) {
Rancho v = ranchos.get(k);
s += k + "\t" + v.getTotalVacas() + "\t" + v.getTotalToros() + "\t" + v.getApPrimerAnimal() + "\n";
}s += "\n\nAnimales:\n";
for (String l : registros) {
s += l + "\n";
}return s;
}public static void main(String[] ags) {
System.out.println(GenerarGanado.getInstance().toString());
}}import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
public class ActualizarRanchos {public static ActualizarRanchos actualizarRanchos;
private final Map<String, Rancho> ranchos;
public static final String PATH_CUENTAS_DAT = "D:\\descargas\\CUENTAS.txt";
private ActualizarRanchos() {
ranchos = GenerarGanado.getInstance().getRanchosCalculados();
}public static ActualizarRanchos getInstance() {
if (actualizarRanchos == null) {
actualizarRanchos = new ActualizarRanchos();
}return actualizarRanchos;
}public File getCuentas() {
FileWriter fichero = null;PrintWriter pw;
try {fichero = new FileWriter(PATH_CUENTAS_DAT);
pw = new PrintWriter(fichero);
ranchos.forEach((k, v) -> {
pw.println(k + "\t" + v.getTotalVacas() + "\t" + v.getTotalToros() + "\t" + v.getApPrimerAnimal());
});
} catch (IOException e) {
e.printStackTrace(System.out);
} finally {
try {if (fichero != null) {
fichero.close();
}} catch (IOException e2) {
e2.printStackTrace(System.out);
} }return new File(PATH_CUENTAS_DAT);
}public static void main(String[] args) {
ActualizarRanchos.getInstance().getCuentas();
}}import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Principal {public static void main(String[] args) {
System.out.println("Primero vemamos el contenido deL archivo RANCHOS.DAT");
System.out.println(GenerarRancho.getInstance().toString());
System.out.println("-----------------------------------------------------");
System.out.println("Ahora veamos la información que nos genera la clase GenerarAnimales");
System.out.println(GenerarGanado.getInstance().toString());
System.out.println("-----------------------------------------------------");
System.out.println("Ahora generemos el archivo CUENTAS.DAT y veamos su contenido:");
File archivo;
FileReader fr = null;BufferedReader br;
try {archivo = ActualizarRanchos.getInstance().getCuentas();
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while ((linea = br.readLine()) != null) {
System.out.println(linea);
}} catch (IOException e) {
e.printStackTrace(System.out);
} finally {
try {if (fr != null) {
fr.close();
}} catch (IOException e2) {
e2.printStackTrace(System.out);
} } }}

RANCHO003 6 1 0
RANCHO002 4 1 0
RANCHO001 4 0 0




RANCHO001 10 2 1
RANCHO002 25 5 1
RANCHO003 25 6 1
RANCHO004 27 4 1
RANCHO005 26 3 1
RANCHO006 24 2 1
1 1 0
1 1 0
1 1 0
1 1 0
2 2 0
2 1 0
2 1 0
2 1 0
2 1 0
3 1 0
3 1 0
3 1 0
3 2 0
3 1 0
3 1 0
3 1 0
public static final String PATH_RANCHOS_DAT = "D:\\descargas\\RANCHOS.txt";
public static final String PATH_ANIMALES_DAT = "D:\\descargas\\ANIMALES.txt";
public static final String PATH_CUENTAS_DAT = "D:\\descargas\\CUENTAS.txt";

