PDA

View Full Version : [Java] suggerimento su RandomAccessFile


chicco19811
09-11-2017, 19:49
String str = "";
byte data[] = null;
RandomAccessFile f = new RandomAccessFile(new File("U://test.txt"), "rw");
f.setLength(0) ;

for (...) {
str = ...//recupera la stringa
f.setLength(0) ;
data = str.getBytes();
f.getChannel().position(0);
f.write(data);

}

f.close();






ho un codice cosė scritto; recupera delle stringhe da delle code MQ e le scrive su file

i requisiti sono
1) ogni stringa del ciclo for sovrascrive nel file quella precedente
2) se il processo cade (un system.exit per intenderci), sul file deve rimanere l'ultima stringa

la domanda: non sono espertissimo di classi Java per la scrittura, č giusto utilizzare RandomAccessFile o mi consigliate qualcosa di diverso? In termini di performance principalmente

Grazie

chicco19811
10-11-2017, 11:29
String newStr="";
String filePath= "U://test.txt";
FileInputStream fis = new FileInputStream(filePath);
String content = IOUtils.toString(fis);

FileOutputStream fos = new FileOutputStream(filePath);
IOUtils.write(content, new FileOutputStream(filePath));

for (...) {
newStr=...//recupera la stringa

content = content.replaceAll(content, newStr);
fos = new FileOutputStream(filePath);
IOUtils.write(content, new FileOutputStream(filePath));
}

fis.close();
fos.close();


meglio?
Grazie