Continuación:
package fuentes;
import java.util.Scanner;
import java.io.FileWriter;
import java.io.File;
public class Empleado {
public static void main(String[] args) {
Scanner leer = new Scanner(System.in);
FileWriter fichero = null;
int nroEmpleados =0;
String codigo, nombre, apPaterno, apMaterno, sexo, datosCompletos, cod;
System.out.println("ingrese la cantidad de empleados:");
nroEmpleados = leer.nextInt(); leer.nextLine();
try{
fichero = new FileWriter("D:\\ALMACEN\\ACADEMICO\\EStructuras\\PryArchivosPropuesto\\empleados.txt");
for(int i=0; i<nroEmpleados; i++){
System.out.println("codigo:");
codigo = leer.nextLine();
System.out.println("nombre:");
nombre = leer.nextLine();
System.out.println("apellido paterno:");
apPaterno = leer.nextLine();
System.out.println("apellido materno");
apMaterno = leer.nextLine();
System.out.println("sexo:");
sexo = leer.nextLine();
datosCompletos = codigo+" "+nombre+" "+apPaterno+" "+apMaterno+" "+sexo+"\r\n";
fichero.write(datosCompletos);
}
fichero.close();
}
catch (Exception e){
System.out.println(e.getMessage());
}
cantidadEmpleados();
listaEmpleadosFemenino();
System.out.println("ingrese el codigo a buscar: ");
cod = leer.nextLine();
mostrarPorCodigo(cod);
}
public static void cantidadEmpleados(){
Scanner s = null;
File fichero = new File("D:\\ALMACEN\\ACADEMICO\\EStructuras\\PryArchivosPropuesto\\empleados.txt");
String datosCompletos, codigo, nombre, apPaterno, apMaterno, sexo;
int pos1, pos2, pos3, pos4, cantidad=0;
try{
s = new Scanner(fichero);
while(s.hasNextLine()){ //s.hasNextLine : mientras halla lineas hacer....
datosCompletos = s.nextLine(); //lee la linea actual
cantidad++;
}
s.close(); //cerramos el escaner s
}
catch (Exception e){
System.out.println("no se encuentra el archivo"+e.getMessage());
}
System.out.println("cantidad de empleados: "+cantidad);
}
public static void listaEmpleadosFemenino(){
Scanner s = null;
File fichero = new File("D:\\empleados.txt");
String datosCompletos, codigo, nombre, apPaterno, apMaterno, sexo;
int pos1, pos2, pos3, pos4;
try{
s = new Scanner(fichero);
while(s.hasNextLine()){ //s.hasNextLine : mientras halla lineas hacer....
datosCompletos = s.nextLine(); //lee la linea actual
pos1= datosCompletos.indexOf(' ');
pos2= datosCompletos.indexOf(' ', pos1+1);//busca el siguiente espacio en blaco a partir del siguiente caractaer despues del primer espacio en blanco
pos3= datosCompletos.indexOf(' ', pos2+1);
pos4= datosCompletos.indexOf(' ', pos3+1);
codigo = datosCompletos.substring(0, pos1+1);
nombre = datosCompletos.substring(pos1+1, pos2);
apPaterno= datosCompletos.substring(pos2+1, pos3);
apMaterno =datosCompletos.substring(pos3+1, pos4);
sexo =datosCompletos.substring(pos4+1);
if(sexo.equalsIgnoreCase("femenino")){
System.out.println(" "+datosCompletos);
}
}
s.close(); //cerramos el escaner s
}
catch (Exception e){
System.out.println("no se encuentra el archivo"+e.getMessage());
}
}
public static void mostrarPorCodigo(String cod){
Scanner s = null;
File fichero = new File("D:\\empleados.txt");
String datosCompletos, codigo, nombre, apPaterno, apMaterno, sexo;
int pos1, pos2, pos3, pos4, c=0;
System.out.println(" codigo a vbucar "+cod);
try{
s = new Scanner(fichero);
while(s.hasNextLine()){ //s.hasNextLine : mientras halla lineas hacer....
datosCompletos = s.nextLine(); //lee la linea actual
pos1= datosCompletos.indexOf(' ');
pos2= datosCompletos.indexOf(' ', pos1+1);//busca el siguiente espacio en blaco a partir del siguiente caractaer despues del primer espacio en blanco
pos3= datosCompletos.indexOf(' ', pos2+1);
pos4= datosCompletos.indexOf(' ', pos3+1);
codigo = datosCompletos.substring(0, pos1);
if(codigo.equalsIgnoreCase(cod)){
System.out.println(" "+datosCompletos);
c=1;
}
}
s.close(); //cerramos el escaner s
if(c==0) System.out.println("codigo no encontrado");
}
catch (Exception e){
System.out.println("no se encuentra el archivo"+e.getMessage());
}
}
}