String filePath = "logs/test.log"; File file = new File(filePath);
此時如果直接createNewFile()
if(!file.exists()) { try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
會因為parent的資料夾不存在而失敗,而這時直接使用mkdirs()
if(!file.exists()) { file.mkdirs(); try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
但這樣會把01.log也當成資料夾建立,就無法createNewFile,所以應該先切換到上層目錄再進行mkdirs()
if(!file.exists()) { file.getParentFile().mkdirs(); try { file.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }