我在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();}
}
}
我怎么可能产生这样的东西?
答案 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文件中写入的字符串,然后在写入时注意插入分隔符的位置。如果您需要进一步的帮助,请与我们联系。