처음에는 Attemps 기능이 처음 제대로 작동합니다. 파일에서 요청을 정교하게 만들고 내용을 임시 파일로 옮긴 다음 로그 파일을 삭제하고 "temporaneo.txt"파일의 이름을 변경합니다 ""log.txt "에 있습니다. 이 기능을 두 번째로 시작했지만 프로 시저가 더 이상 성공하지 못하는 것 같습니다. 특히 로그 파일이 삭제되지 않고 "temporaneo.txt"파일의 이름이 "log.txt"로 바뀌지 않습니다. 왜 이런 일이 생길까요? 그 절차를 착각 한거야? 처음에는이 기능이 훌륭하게 수행되는 반면에 나는 정말로 그들을 다룰 수 없습니다. 자바 7 neighter 또는 8 그것을 제거하고 모든 것이 잘 작동합니다 -Java는 파일을 삭제하지 않습니다.
public void Attemps()throws IOException
{
try
{
BufferedReader in = new BufferedReader(new FileReader("log.txt"));
PrintWriter out = new PrintWriter(new File("temporaneo.txt"));
String line;
String params[];
while((line = in.readLine()) != null)
{
params = line.split(";", 2);
if(client.equals(params[0]))
{
int accessi_aggiornati = Integer.parseInt(params[1]);
accessi_aggiornati--;
params[1] = String.valueOf(accessi_aggiornati);
out.print(params[0] + ";" + params[1]);
}
else
{
out.println(line);
}
}
in.flush(); //log
out.flush(); //temporaneo
in.close();
out.close();
//Delete log and rename temporary file
File f1 = new File("log.txt");
f1.delete();
File f2 = new File("temporaneo.txt");
f2.renameTo(f1);
System.out.println("Update complete");
}catch(Exception e)
{
e.printStackTrace();
}
}
는 당신이 실제로이 파일을해야합니까? null 값이 아닌가? – roeygol
로그 파일이 항상 있습니다.이 코드를 사용하여 log.txt 내용을 업데이트합니다. – Debug
이 코드를 실행하면 완전히 이해할 수 있습니다. 하지만 그 후에는 그렇지 않습니까? – Ascalonian