檔案路徑不存在則建立路徑,檔案存在則重新命名原檔案再建立新檔案寫入資料
阿新 • • 發佈:2018-11-15
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開啟