Foro sobre Java SE > ¿Se puede contar una palabra y convertirla a int?
Les cuento que ya pude hacer lo que quería y no hizo falta armarme tanto lío.
A la clase donde lee los ficheros .KSC le agregue unas lineas más y al code que puse antes también.
acá les dejo la solución:
Esto es de KSC.java:
public int readKSCInfo(String myKscFile, int number)
{
try
{
RandomAccessFile in = new RandomAccessFile(myKscFile, "r");
in.seek(12 + number * 14);
byte[] b1 = new byte[12];
in.read(b1);
setKMPName(new String(b1));this.Space3 = in.readByte();
this.Space4 = in.readByte();
in.close();
}catch (Exception ef)
{
ef.printStackTrace();
}
return 0;
}
Y esto que sigue sería la solución para mi problema que describí en el post:
//.KSC FILTER:
if (KSTool.this.myKSC.getIdKorg() != null)
{
KSTool.this.currentKSC = 0;
System.out.println("Open .KSC File - Access granted.");
System.out.println("Files on .KSC dir: ");
String kscsin = fileChooser.getSelectedFile().getPath();
String kscex = kscsin.substring(0,kscsin.lastIndexOf("."));
File dir1 = new File(kscex,"/");
String[] ficheros = dir1.list();
//Si no hay ficheros en el directorio va a imprimir en pantalla con el siguiente mensaje
if (ficheros == null)
System.out.println("No hay ficheros en el directorio especificado");
//Si hay ficheros los va a enumerar y los va a mostrar en pantalla
else {
int y = 0 + 1;
int x = 0;
for (x = 0;x<ficheros.length;x++)
{
//System.out.println(y++ + " - " + ficheros[x]);
System.out.println(y++ + " - " + ficheros[x]);
}
int total = x / 2 ;
System.out.println("*****************************************");
System.out.println("Sample list on .KSC file: ");
for(KSTool.this.currentKSC = 0;
KSTool.this.currentKSC != total;
KSTool.this.currentKSC++)
{
KSTool.this.myKSC.readKSCInfo(KSTool.this.sampleKscFilepath, currentKSC + 1);
System.out.println(KSTool.this.myKSC.getKMPName());
}
System.out.println("*****************************************");
}
}
agosto 16, 2014 |
newstyl3
Buenas compañeros, otra vez estoy por acá :P....
Debo decirles que ya casi termino mi programa. esta vez me trabe con esto.
Tengo un archivo .KSC, y en el lo siguiente:
#KORG Script Version 1.0
NEWMS000.KMP
GUITA001.KMP
TRUMP002.KMP
Para leer esto yo cree una Clase aparte que se encarga de chequear si el ID "#KORG Script Version 1.0" es verdadero accede al fichero y lee las lineas siguientes que son files .KMP que estos a su vez estan alojados dentro de un directorio con el nombre base del archivo.ksc que abri con el filechooser (Archivo.ksc tiene un directorio Archivo//:
NEWMS000//
GUITA001//
TRUMP002//
NEWMS000.KMP
GUITA001.KMP
TRUMP002.KMP))
lo que yo quiera hacer vendría a ser:
Contar todo lo que esta dentro de la carpeta "Archivo", convertirlo a int y dividirlo por 2.
Para que el resultado sea igual al numero de archivos listados en archivo.KSC.
y luego guardarlo en la memoria e imprimir en consola la lista junto a su directorio:
EJEMPLO en consola:
Sample list on .KSC file:
NEWMS000.KMP
GUITA001.KMP
TRUMP002.KMP
Aca les dejo el código:
---------------------------------------------------------------------------------------------------------