通过附加原始文件名来保存文件

Save a file by appending the original file name

我是运行 使用Star-CCM+ 的CFD 模拟,它使用Java API。 Star-CCM+用java写宏,但我完全不懂这门语言。我想在我的模拟中操作参数值,然后使用附加名称保存文件。例如,如果我的模拟名为“External Aero”,我希望模拟以名称“External Aero Heave”保存文件。这样做的原因是很多人会使用这个宏,我不希望每个人的文件都被覆盖。所以我希望宏附加基本文件的名称。

Star-CCM+写的保存重命名文件的代码如下:

// Simcenter STAR-CCM+ macro: SaveOp.java
// Written by Simcenter STAR-CCM+ 15.06.008
package macro;

import java.util.*;

import star.common.*;
import star.base.neo.*;

public class SaveOp extends StarMacro {

  public void execute() {
    execute0();
  }

  private void execute0() {

    Simulation simulation_0 = getActiveSimulation();

    simulation_0.saveState("Y:\CFD Simulation\Run\GFR21_Thesis_Base_ExportToPPT_Heave.sim");
  }

  private void execute1() {
  }
}

我可以看到 simulation_0 是活动模拟的名称。我尝试将 simulation_0 添加到 saveState 命令,如下所示:

    simulation_0.saveState("Y:\CFD Simulation\Run\simulation_0_Heave.sim");

但这只是保存了一个名为“simulation_0_Heave.sim”的模拟,这不是我想要的。

如有任何帮助,我们将不胜感激。 提前谢谢你。

simulation_0不是实际模拟的名字 它只是一个模拟类型的对象。

您可能需要 simulation_0.getName 或 simulation_0.getSimulationName() 来获取“simulation_0”的名称。

这应该有效:

  simulation_0.saveState("Y:\CFD Simulation\Run\" + simulation_0.getPresentationName() + "_Heave.sim");

我能够解决我的问题并添加代码以将创建的文件添加到新目录。

      // making the file name extension string
  String append1 = "_Heave.sim";

  String dir1 = simulation_0.getSessionDir(); //getting the name of the sims directory
  
  String filename1 = simulation_0.getPresentationName(); //get the name of the current sim file

  String sep1 = System.getProperty("file.separator"); //get the right separator for your operative system

  String folder1 = (sep1 + filename1 + "_Five_Attitude_Study"); //making the first folders name

  String pathToNewDirectory1 = (dir1 + folder1); //applying it to the full path

  File fileObject1 = new File(pathToNewDirectory1); //making the new file folder

  Boolean yes1 = fileObject1.mkdir(); //checking that its there
  
  simulation_0.saveState(pathToNewDirectory1 + sep1 + filename1 + append1); //save the current sim file as| name_of_the_file@mod.sim