tylerdurden83
16-03-2009, 18:37
Sto :muro: su come poter fare in modo che niente di ciò che viene scritto su un file vada perso...
Ad es,
FileInputStream fs = null;
Reader fileReader = null;
BufferedReader input = null;
try {
String line = null;
fs = new FileInputStream(log);
fs.skip(fs.available());
fileReader = new InputStreamReader(fs);
input = new BufferedReader(fileReader);
File file = new File(log);
long length = file.length();
while (true) {
if (length <= file.length()){
if ((line = input.readLine()) != null) {
// do stuff
continue;
}
} else {
line = null;
input.close();
fileReader.close();
fs.close();
try{
file = new File(log);
while (file.exists()!=true){
Thread.sleep(200L);
}
fs = new FileInputStream(log);
fileReader = new InputStreamReader(fs);
input = new BufferedReader(fileReader);
length = file.length();
} catch (FileNotFoundException fnf){
// do stuff
}
}
try {
Thread.sleep(1000L);
} catch (InterruptedException x) {
// do stuff
}
}
Se una riga viene letta, e nel frattempo una nuova riga viene scritta sul file di input e viene eseguita una cat > /dev/null, quest'ultima riga non la posso più leggere...
Come posso ovviare?
Ad es,
FileInputStream fs = null;
Reader fileReader = null;
BufferedReader input = null;
try {
String line = null;
fs = new FileInputStream(log);
fs.skip(fs.available());
fileReader = new InputStreamReader(fs);
input = new BufferedReader(fileReader);
File file = new File(log);
long length = file.length();
while (true) {
if (length <= file.length()){
if ((line = input.readLine()) != null) {
// do stuff
continue;
}
} else {
line = null;
input.close();
fileReader.close();
fs.close();
try{
file = new File(log);
while (file.exists()!=true){
Thread.sleep(200L);
}
fs = new FileInputStream(log);
fileReader = new InputStreamReader(fs);
input = new BufferedReader(fileReader);
length = file.length();
} catch (FileNotFoundException fnf){
// do stuff
}
}
try {
Thread.sleep(1000L);
} catch (InterruptedException x) {
// do stuff
}
}
Se una riga viene letta, e nel frattempo una nuova riga viene scritta sul file di input e viene eseguita una cat > /dev/null, quest'ultima riga non la posso più leggere...
Come posso ovviare?