Open BrunoCodex opened 9 years ago
Esta libreria es para comunicarse directamente por red, no se si podria adaptarse para usar ese formato. Si necesitas leer un archivo, hay un par de librerias node.js (por ejemplo: https://www.npmjs.com/package/anviz-backup2xls) que podrias usar.
Disculpa que sea insistente en verdad no quiero molestar, si e revisado las librerias en Node.js pero necesito hacerlo con java, me podrias ayudar?
No lo probe, pero algo asi deberia ir:
public void parseFile() {
FileReader fileStream = new FileReader("BAK.KQ");
PackerInputStream packerStream = new PackerInputStream(fileStream);
int bytes = new ThreeByteCodec().decode(packerStream, null);
Codec<AttendanceRecord> codec = CodecFactory.get(AttendanceRecord.class);
int records = bytes / 14;
List<Action> results = new ArrayList<Action>();
for (int i = 0; i < records; i++) {
AttendanceRecord record = codec.decode(packerStream, null);
DateTime date = buildDateTime(record.getSeconds());
if (record.getType() == 0x00) {
results.add(new CheckIn(record.getUserId(), date));
} else {
results.add(new CheckOut(record.getUserId(), date));
}
}
// results tiene todo levantado
}
private DateTime buildDateTime(long seconds) {
// The documentation says that dates are given as seconds since year 2000
// However, experience shows that it's actually from the second day of the year 2000
return new DateTime(2000, 01, 02, 00, 00, 00, timezone).plusSeconds((int) seconds);
}
Nada compañero :(
¿Que significa nada? No compila, tira una exception, el array results
termina vacio? Tampoco estoy seguro de si ese el formato correcto. Lo saque asi como esta de la libreria node que te pase. Sin saber el formato ni que pasa cuando probas eso no puedo hacer nada.
fileStream = new FileReader("BAK.KQ");
PackerInputStream packerStream = new PackerInputStream(fileStream);
Recién inicia y me lanza una excepción:
Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet.
at com.monits.anviz.net.PackerInputStream.
Buenas tardes muy buen aporte el de ustedes.
Tengo una consulta, como se haría para leer un archivo BAK.KQ con que clase y con que metodo.
he probado lo siguiente:
ThreeByteCodec tbc = new ThreeByteCodec(); tbc.decode("¿Que se coloca?", "¿Que se coloca?");
Porfa necesito su ayuda.