1. 程式人生 > >檔案路徑不存在則建立路徑,檔案存在則重新命名原檔案再建立新檔案寫入資料

檔案路徑不存在則建立路徑,檔案存在則重新命名原檔案再建立新檔案寫入資料

String exportPath = "D:"+ File.separatorChar+new SimpleDateFormat("yyyy").format(date)+File.separatorChar
			+new SimpleDateFormat("MM").format(date);
	//File.separatorChar為了跨平臺,根據系統而定是/還是\
	File file = new File(exportPath);
	if (!file.exists()){//路徑不存在則建立
	file.mkdirs();
	}
	File exportFile = new File(exportPath+File.separatorChar
		    + "cmClaimSummaryForRecordExport"+".csv");
	if (exportFile.exists()) {//檔案存在則重新命名再建立
		exportFile.renameTo(new File(exportPath+File.separatorChar+"cmClaimSummaryForRecordExport"+date.getTime()+".csv"));
exportFile.createTempFile("cmClaimSummaryForRecordExport","csv",  new File(exportPath+File.separatorChar));
	}else{//否則建立檔案寫入資料
		exportFile.createNewFile();
	}
    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(exportFile.getAbsoluteFile()), "UTF-8");
		osw.write('\uFEFF'); 
		osw.append(entity.getCsvHeaderEntry()); 				
		osw.append(entity.getCsvEntry());
		osw.close();						
		exportFile.setReadable(true, false);//(只讀,只有讀許可權適用於業主的讀取許可權)

	public static String getCsvHeaderEntry() {
		return "column1,column2,column3\n";
	}
public static String getCsvEntry() {
return "列1的值,列2的值,列3的值\n";
}
//csv檔案每行格式是以“,”分隔的,如下圖

以文字格式開啟

以excel開啟