0
我正在嘗試創建一個重命名數據收集程序中的日誌文件的方法,但有一個IOException
在嘗試訪問日誌文件後很短時間內被拋出(很少)一次(用於第二筆數據)。冗餘使用.delete()
我不知道是否是因爲通話到.delete()
如果我要確保文件在訪問之前關閉。我真的被困在這一個。這是我正在研究的方法。
public static void renameFile(String oldName, String newName) throws IOException
{
File srcFile = new File(oldName).getAbsoluteFile();
boolean bSucceeded = false;
try
{
File destFile = new File(newName).getAbsoluteFile();
if (destFile.exists())
{
if (!destFile.delete())
{
throw new IOException(oldName + " was not successfully renamed to " + newName + ", could not perform !destFile.delete()");
}
}
if (!srcFile.renameTo(destFile))
{
throw new IOException(oldName + " was not successfully renamed to " + newName + ", could not rename source file");
}
else
{
bSucceeded = true;
}
}
finally
{
if (bSucceeded)
{
srcFile.delete();
}
}
}
你可以發表你的異常的全堆棧跟蹤? – Sujay 2012-08-06 20:34:50