如何填充文本文件中方法的输出

时间:2014-09-09 14:53:09

标签: java file-io

我在Java中有一个Report Dose stat方法:

 public String getReportDoseStat(){
    double maxdose=getMaxDose();
    String s=("Average dose:\t"+getAvDose()+"\n");
    s+=("Max dose:\t"+maxdose+"\n");
    s+=("Pixels 90% of max dose or more:\t"+getNmbrPixDose(maxdose*0.9)+"/"+getNmbrPixDose(0.0)+"\n");
    s+=("Pixels 50% 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;
}

我想将此代码生成的值写入以下方法编写的表中:

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 个答案:

答案 0 :(得分:1)

您可以直接在文件中打印值,而不是使用getDoseTable()方法,而在编写时,可以使用所需的分隔符格式化您的语句。如下所示:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class Test {

    public static void main(String[] args) throws IOException {
        String[] str = { "a", "b", "c" };
        BufferedWriter wr = new BufferedWriter(new FileWriter(new File(
                System.getProperty("user.dir") + File.separator + "test.csv")));
        for (String string : str) {
            wr.write(string + ",");
        }
        wr.flush();
        wr.close();
    }
}

这里String [] str可以是您希望在用某个分隔符分隔的csv文件中写入的字符串,然后在写入时注意插入分隔符的位置。如果您需要进一步的帮助,请与我们联系。