|
@@ -91,9 +91,10 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
String TRADE_NAME = "青岛道合供应链";
|
|
|
// 报送日期
|
|
|
String APPLY_DATE = new SimpleDateFormat("yyyyMMdd").format(nowDate);
|
|
|
+ File temp = null;
|
|
|
try {
|
|
|
- FileWriter fw =new FileWriter(getAbsoluteFile(fileName));
|
|
|
- BufferedWriter bw = new BufferedWriter(fw);
|
|
|
+ temp = File.createTempFile("save", "null"); // 创建临时文件
|
|
|
+ BufferedWriter bw = new BufferedWriter(new FileWriter(temp)); // 给临时文件写入内容
|
|
|
// 写入头部
|
|
|
bw.write(
|
|
|
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" +
|
|
@@ -183,21 +184,30 @@ public class TWhgenlegServiceImpl implements ITWhgenlegService {
|
|
|
" </SDEPORT_DATA>\n" +
|
|
|
"</XMLObject>"
|
|
|
);bw.newLine();
|
|
|
- bw.close();
|
|
|
- fw.close();
|
|
|
- String path = getAbsoluteFile(fileName);
|
|
|
- BufferedReader reader = new BufferedReader(new FileReader(path));
|
|
|
- BufferedWriter bfw = new BufferedWriter(new FileWriter(fileName)); // 创建新的写入流
|
|
|
+ bw.close(); // 写入完毕
|
|
|
+ BufferedReader reader = new BufferedReader(new FileReader(temp));// 读取临时文件数据
|
|
|
+ FileWriter fw = new FileWriter(getAbsoluteFile(fileName)); // 创建要写入的文件
|
|
|
+ BufferedWriter bfw = new BufferedWriter(fw); // 创建新的写入流
|
|
|
String lineText;
|
|
|
- while ((lineText = reader.readLine()) != null) {
|
|
|
- String newContent = lineText.replace("<FILE_SIZE>-1</FILE_SIZE>","<FILE_SIZE>"+ getFileSize(path) +"</FILE_SIZE>");
|
|
|
- bfw.write(newContent);
|
|
|
+ while ((lineText = reader.readLine()) != null) { // 按行读取零食文件数据
|
|
|
+ // 替换其中参数
|
|
|
+ String newContent = lineText.replace("<FILE_SIZE>-1</FILE_SIZE>","<FILE_SIZE>"+ temp.length() +"</FILE_SIZE>");
|
|
|
+ // 写入指定文件并自动换行
|
|
|
+ bfw.write(newContent);bfw.newLine();
|
|
|
}
|
|
|
+ // 刷新缓冲区
|
|
|
+ bfw.flush();
|
|
|
+ // 关闭读取流
|
|
|
+ reader.close();
|
|
|
bfw.close(); // 关闭写入流
|
|
|
+ // 关闭需要写入的文件流
|
|
|
+ fw.close();
|
|
|
return AjaxResult.success(fileName);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return AjaxResult.error("导出分类监管数据失败");
|
|
|
+ } finally {
|
|
|
+ temp.deleteOnExit(); // 删除创建的临时文件
|
|
|
}
|
|
|
}
|
|
|
|