写入计算值以输出CSV文件

时间:2014-09-17 10:09:46

标签: java csv file-io

我的代码目前从csv文件中获取值并执行科学计算并生成多个输出文件,输出值以分号分隔...

将值写入输出的方法如下所述

public void writeDosesTable(String p)// writing the dose table
    {

        {
            PrintStream  fos;


            try
            {
                fos=new PrintStream(new File(p));



                String s;
                for(int j=0;j<nz;j++)
                {
                    s="";

                    for(int i=0;i<nx;i++)
                    {

                        s+=det_els.get(j+i*nz).getDose()+";";// comma separated or Semicolon separated mentioned here
                    }
                    fos.println(s);
                    // prints out the stream of  values in Doses table separated by Semicolon
                }
                fos.flush();
                fos.close();
            } 
            catch (IOException e)
            {
                e.printStackTrace();
            }
            //finally 
            //{fos.close();}
        }
    }

对于此输出生成的文件,我想添加更多内容

  1. 添加文字和一些计算输出
  2. 我想为每个输出文件添加的文本是

    “CONFIGURATION A + B”; PSD_MAP; MAX_DOSE; CSD(95%)

    代替MAX_DOSE和CSD ..我想为每个生成的输出附加MAX_DOSE和CSD的值。

    我已经为MAX_DOSE编写了如下代码

    public double getMaxDose()
        {
            double dose=0.0;
            for(DetEl det_el:det_els)
            {
                if (det_el.getDose()>dose)
                    dose=det_el.getDose();
            }
            return dose;
        }
    

    为了生成CSD(95%),我编写了以下代码

     /**
        * get the number of pixels with a given dose or more
        */
    
    public int getNmbrPixDose(double dose)
        {
            int cnt=0;
            for(DetEl det_el:det_els)
            {
                if (det_el.getDose()>=dose)
                    cnt++;
            }
            return cnt;
        }
    

    以及如下打印MAX_DOSE和CSD(95%)的方法

    public String getReportDoseStat()
        {
            double maxdose=getMaxDose();
            String s=("Average dose:\t"+getAvDose()+"\n");
            s+=("Max dose:\t"+maxdose+"\n");
            s+=("Pixels 95% of max dose or more:\t"+getNmbrPixDose(maxdose*0.95)+"/"+getNmbrPixDose(0.0)+"\n");
            s+=("Pixels 90% of max dose or more:\t"+getNmbrPixDose(maxdose*0.5)+"/"+getNmbrPixDose(0.0)+"\n");
            s+=("Pixels 10% of max dose or more:\t"+getNmbrPixDose(maxdose*0.1)+"/"+getNmbrPixDose(0.0)+"\n");
            return s;
        }
    

    现在我将使用方法getReportDoseStat()生成的值,并通过格式为

    的writeDosesTable(String p)方法填充值Output文件

    “CONFIGURATION A + B”; PSD_MAP; MAX_DOSE; CSD(95%)其中MAX_DOSE和CSD(95%)的MAX_DOSE和CSD(95%)值将附加到每个生成的输出中。

    ..CSD(95%)是累积皮肤剂量

    请告诉我任何线索,我可以用我的问题中表达的格式为我的脚本生成的每个输出文件编写这些值。

0 个答案:

没有答案