|  | @@ -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(); // 删除创建的临时文件
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |