14/07/10 12:07
killer
Salve a tutti esistono metodi specifici di conversione da array di byte in String ?
pratikamente ho creato un metodo che torna un oggetto MappedByteBuffer e richiamando il metodo MappedByteBuffer.array() mi ritorna un array di byte.. pero io ho bisogno di trasferire in rete l'array di byte e volevo convertirlo prima in stringa e poi inviarlo insieme ad altri dati...!! come faccio !?
ecco questo è il metodo che mi sono creato:
private MappedByteBuffer leggi(File from) {
FileChannel fileIn = null;
MappedByteBuffer buf;
try {
fileIn = new FileInputStream(from).getChannel();
long size = fileIn.size();
buf = fileIn.map(FileChannel.MapMode.READ_ONLY, 0, size);
} catch (Exception ex) {
return null;
} finally {
if (in != null) {
try {
in.close();
} catch (Exception ex) {
return null;
}
}
if (out != null) {
try {
out.close();
} catch (Exception ex) {
return null;
}
}
}
return buf;
}
quindi ad esempio leggi(f).array() mi ritorna un byte[] array; ma come faccio a inviare i byte alla socket ? avevo pensato di inserire tutti i byte in una stringa ed inviarli assieme ad altri... con out.writeBytes("command" +" "+ f.getName()+" "+leggi(f).array[]) <----------- pero gli devo passare la stringa contenente i bytes e non l'array..perche accetta una stringa..
ps: non posso utilizzare il metodo che invia solo l'array di bytes perche altrimenti non posso inviare piu nulla alla socket..ed ho bisogno di inviare tutto in Stringa
fatemi sapere presto grazie
pratikamente ho creato un metodo che torna un oggetto MappedByteBuffer e richiamando il metodo MappedByteBuffer.array() mi ritorna un array di byte.. pero io ho bisogno di trasferire in rete l'array di byte e volevo convertirlo prima in stringa e poi inviarlo insieme ad altri dati...!! come faccio !?
ecco questo è il metodo che mi sono creato:
private MappedByteBuffer leggi(File from) {
FileChannel fileIn = null;
MappedByteBuffer buf;
try {
fileIn = new FileInputStream(from).getChannel();
long size = fileIn.size();
buf = fileIn.map(FileChannel.MapMode.READ_ONLY, 0, size);
} catch (Exception ex) {
return null;
} finally {
if (in != null) {
try {
in.close();
} catch (Exception ex) {
return null;
}
}
if (out != null) {
try {
out.close();
} catch (Exception ex) {
return null;
}
}
}
return buf;
}
quindi ad esempio leggi(f).array() mi ritorna un byte[] array; ma come faccio a inviare i byte alla socket ? avevo pensato di inserire tutti i byte in una stringa ed inviarli assieme ad altri... con out.writeBytes("command" +" "+ f.getName()+" "+leggi(f).array[]) <----------- pero gli devo passare la stringa contenente i bytes e non l'array..perche accetta una stringa..
ps: non posso utilizzare il metodo che invia solo l'array di bytes perche altrimenti non posso inviare piu nulla alla socket..ed ho bisogno di inviare tutto in Stringa
fatemi sapere presto grazie
Ultima modifica effettuata da killer 14/07/10 12:16
aaa