diff --git a/.gitignore b/.gitignore index bc04586..4007a08 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ /.metadata/ /com.connor.chint.sap2/bin/ /com.connor.chint.sap2/.settings -RemoteSystemsTempFiles/* \ No newline at end of file +RemoteSystemsTempFiles/* +/build/ diff --git a/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/SpecStatementDialog2.java b/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/SpecStatementDialog2.java index db7abf0..0223495 100644 --- a/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/SpecStatementDialog2.java +++ b/com.connor.chint.sap2/src/com/connor/chint/sap2/operation/SpecStatementDialog2.java @@ -50,6 +50,7 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { private JButton b_path; // 文件保存路径 protected JTextField jtf_path; // 文件路径 private String name;//报表类型 + private String nameEnglish;//报表类型 public static final String[] HEADER = new String[] { "", "序号", "方案名称", "物料编码" }; public static final int[] HEADERWIDTH = new int[] { 50, 60, 180, 180 }; @@ -98,10 +99,12 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { case "001": this.setTitle("一次规范书汇总报表导出"); // 中压 name = "中压一次规范书汇总报表"; + nameEnglish = "a"; break; case "002": this.setTitle("二次规范书汇总报表导出"); // 中压 name = "中压二次规范书汇总报表"; + nameEnglish = "b"; break; case "003": @@ -225,18 +228,31 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { JPanel panel = new JPanel(new PropertyLayout()); jtf_path = new JTextField(30); //2022/11/14新增记录保存路径 - String tempPath = System.getProperty("java.io.tmpdir"); - String tempFilePath = tempPath + File.separator + name + "功能导出路径.txt"; - File exportFileTxt = new File(tempFilePath); - if(exportFileTxt.exists()) { - String[] openTextFile = openTextFile(tempFilePath); - System.out.println("上次保存路径:"+openTextFile[0]); - jtf_path.setText(openTextFile[0]); - }else { - File desktopDir = FileSystemView.getFileSystemView().getHomeDirectory(); - String desktopPath = desktopDir.getAbsolutePath(); - jtf_path.setText(desktopPath); - } + //2022/11/14新增记录保存路径 + System.out.println("System.getenv(\"Temp\")==========="+System.getenv("Temp")); + Path configFilePath = Paths.get(System.getenv("Temp")+"//export_dir.config"); + // 检查文件是否存在,不存在则创建 + if (!Files.exists(configFilePath)) { + Files.createFile(configFilePath); + } + + Properties properties = new Properties(); + try (InputStream in = new FileInputStream(System.getenv("Temp")+"//export_dir.config")) { + properties.load(in); + } + System.out.println("properties==="+properties.toString()); + System.out.println("size==="+properties.size()); + System.out.println("nameEnglish======="+nameEnglish); + String property = properties.getProperty(nameEnglish); + if(property != null && !property.isEmpty()) { + jtf_path.setText(property); + }else { + File desktopDir = FileSystemView.getFileSystemView().getHomeDirectory(); + String desktopPath = desktopDir.getAbsolutePath(); + jtf_path.setText(desktopPath); + } + + b_path = new JButton("浏览"); panel.add("1.1.left.top", new JLabel("报表保存路径: ")); @@ -250,16 +266,13 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { JFileChooser jfc = new JFileChooser(); FileSystemView fsv = FileSystemView.getFileSystemView(); //2022/11/14新增记录保存路径 - String tempPath = System.getProperty("java.io.tmpdir"); - String tempFilePath = tempPath + File.separator + name + "功能导出路径.txt"; - File exportFileTxt = new File(tempFilePath); - if(exportFileTxt.exists()) { - String[] openTextFile = openTextFile(tempFilePath); - System.out.println("上次保存路径:"+openTextFile[0]); - jfc.setCurrentDirectory(new File(openTextFile[0])); + String property = properties.getProperty(nameEnglish); + if(property != null && !property.isEmpty()) { + jfc.setCurrentDirectory(new File(property)); }else { jfc.setCurrentDirectory(fsv.getHomeDirectory()); } + System.out.println("111111111111111111111111111111111111111111111111"); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); jfc.showOpenDialog(SpecStatementDialog2.this); @@ -268,12 +281,15 @@ public class SpecStatementDialog2 extends AbstractAIFDialog { System.out.println("->" + f.getAbsolutePath()); jtf_path.setText(f.getAbsolutePath()); //2022/11/14新增记录保存路径 - try { - writeFile(tempFilePath,f.getAbsolutePath()); - } catch (IOException e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); - } + properties.setProperty(nameEnglish, f.getAbsolutePath()); + System.out.println("f.getAbsolutePath()=========="+f.getAbsolutePath()); + } + // 保存修改后的配置 + try (OutputStream out = Files.newOutputStream(configFilePath)) { + properties.store(out, null); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); } } });