feat:processFile
This commit is contained in:
parent
a6de89bc0d
commit
12d13d5852
|
@ -45,7 +45,8 @@ public class ExportUtil {
|
||||||
response.setCharacterEncoding(UTF_8);
|
response.setCharacterEncoding(UTF_8);
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
String name = URLEncoder.encode(fileName, UTF_8);
|
String name = URLEncoder.encode(fileName, UTF_8);
|
||||||
response.setHeader("Content-disposition", "attachment;filename=" + name);
|
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
|
||||||
|
response.setHeader("Content-Disposition", "attachment;filename=" + name);
|
||||||
return response.getOutputStream();
|
return response.getOutputStream();
|
||||||
}
|
}
|
||||||
public static PrintWriter streamWriter(HttpServletResponse response, String fileName) throws IOException {
|
public static PrintWriter streamWriter(HttpServletResponse response, String fileName) throws IOException {
|
||||||
|
|
|
@ -0,0 +1,110 @@
|
||||||
|
package org.jeecg.modules;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class Demo {
|
||||||
|
|
||||||
|
public static Map<String, NuclideInfo> processFile(File file){
|
||||||
|
Map<String, NuclideInfo> m_mapNuclideInfo = new TreeMap<>();
|
||||||
|
if (ObjectUtil.isNull(file)) return m_mapNuclideInfo;
|
||||||
|
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
|
||||||
|
String nucline_flag = "-----------------------------------------";
|
||||||
|
String energy_flag = "REL. IMPULSANZ. KORR.FAKTOR";
|
||||||
|
String line = reader.readLine();
|
||||||
|
String nucName;
|
||||||
|
|
||||||
|
while (line != null) {
|
||||||
|
if (line.trim().equals(nucline_flag)) {
|
||||||
|
line = reader.readLine(); // 空行
|
||||||
|
nucName = reader.readLine().trim(); // 核素名称
|
||||||
|
nucName = StrUtil.subBefore(nucName, " ", false);
|
||||||
|
|
||||||
|
while (line != null && !line.trim().equals(nucline_flag)) {
|
||||||
|
if (line.trim().equals(energy_flag)) {
|
||||||
|
line = reader.readLine(); // 空行
|
||||||
|
line = reader.readLine();
|
||||||
|
|
||||||
|
List<Double> energyList = new LinkedList<>();
|
||||||
|
List<Double> factorList = new LinkedList<>();
|
||||||
|
|
||||||
|
while (line != null && !line.trim().isEmpty()) {
|
||||||
|
List<String> strList = StrUtil.splitTrim(line.trim(), " ");
|
||||||
|
if (strList.size() == 3) {
|
||||||
|
energyList.add(Double.parseDouble(strList.get(0)));
|
||||||
|
factorList.add(Double.parseDouble(strList.get(2)));
|
||||||
|
}
|
||||||
|
line = reader.readLine();
|
||||||
|
}
|
||||||
|
NuclideInfo nuclideInfo = new NuclideInfo();
|
||||||
|
nuclideInfo.setEnergy(energyList);
|
||||||
|
nuclideInfo.setFactor(factorList);
|
||||||
|
m_mapNuclideInfo.put(nucName, nuclideInfo);
|
||||||
|
} else {
|
||||||
|
line = reader.readLine();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
line = reader.readLine();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 排序
|
||||||
|
for (NuclideInfo ni : m_mapNuclideInfo.values()) {
|
||||||
|
for (int i = 0; i < ni.energy.size() - 1; ++i) {
|
||||||
|
for (int j = i + 1; j < ni.energy.size(); ++j) {
|
||||||
|
if (ni.energy.get(i) > ni.energy.get(j)) {
|
||||||
|
double tempEnergy = ni.energy.get(i);
|
||||||
|
double tempFactor = ni.factor.get(i);
|
||||||
|
ni.energy.set(i, ni.energy.get(j));
|
||||||
|
ni.factor.set(i, ni.factor.get(j));
|
||||||
|
ni.energy.set(j, tempEnergy);
|
||||||
|
ni.factor.set(j, tempFactor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_mapNuclideInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class NuclideInfo {
|
||||||
|
List<Double> energy;
|
||||||
|
List<Double> factor;
|
||||||
|
|
||||||
|
public List<Double> getEnergy() {
|
||||||
|
return energy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnergy(List<Double> energy) {
|
||||||
|
this.energy = energy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Double> getFactor() {
|
||||||
|
return factor;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFactor(List<Double> factor) {
|
||||||
|
this.factor = factor;
|
||||||
|
}
|
||||||
|
|
||||||
|
NuclideInfo() {
|
||||||
|
energy = new LinkedList<>();
|
||||||
|
factor = new LinkedList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "NuclideInfo{" +
|
||||||
|
"energy=" + energy +
|
||||||
|
", factor=" + factor +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -4511,6 +4511,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
//设置响应类型
|
//设置响应类型
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
//解决中文不能生成文件
|
//解决中文不能生成文件
|
||||||
|
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
|
||||||
response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(IecName,"UTF-8"));
|
response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(IecName,"UTF-8"));
|
||||||
fos = response.getOutputStream();
|
fos = response.getOutputStream();
|
||||||
fos.write(iecValue.getBytes());
|
fos.write(iecValue.getBytes());
|
||||||
|
@ -4556,6 +4557,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
//设置响应类型
|
//设置响应类型
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
//解决中文不能生成文件
|
//解决中文不能生成文件
|
||||||
|
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
|
||||||
response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(ImsName,"UTF-8"));
|
response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(ImsName,"UTF-8"));
|
||||||
fos = response.getOutputStream();
|
fos = response.getOutputStream();
|
||||||
fos.write(imsValue.getBytes());
|
fos.write(imsValue.getBytes());
|
||||||
|
@ -4596,6 +4598,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
//设置响应类型
|
//设置响应类型
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
//解决中文不能生成文件
|
//解决中文不能生成文件
|
||||||
|
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
|
||||||
response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(ImsName,"UTF-8"));
|
response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(ImsName,"UTF-8"));
|
||||||
fos = response.getOutputStream();
|
fos = response.getOutputStream();
|
||||||
fos.write(imsValue.getBytes());
|
fos.write(imsValue.getBytes());
|
||||||
|
@ -4682,6 +4685,7 @@ public class GammaServiceImpl extends AbstractLogOrReport implements IGammaServi
|
||||||
//设置响应类型
|
//设置响应类型
|
||||||
response.setContentType("application/octet-stream");
|
response.setContentType("application/octet-stream");
|
||||||
//解决中文不能生成文件
|
//解决中文不能生成文件
|
||||||
|
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
|
||||||
response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(IecName,"UTF-8"));
|
response.setHeader("Content-Disposition", "attachment; fileName=" + URLEncoder.encode(IecName,"UTF-8"));
|
||||||
fos = response.getOutputStream();
|
fos = response.getOutputStream();
|
||||||
fos.write(iecValue.getBytes());
|
fos.write(iecValue.getBytes());
|
||||||
|
|
Loading…
Reference in New Issue
Block a user