0

嗨,我有 3 个类,第一类和第二类是计算,第三类是我将前 2 个类的数据保存到文本文件的地方。我正在尝试重用我的方法,该方法使用 FileWriter 和 BufferedWriter 将计算值从第一类和第二类写入文本文件。

所以我有这样的事情:
1)第一类进行计算
2)然后使用第三类 writeDetected 将其保存在文本文件中
3)第二类进行计算
4)然后使用第三类再次使用 writeDetected

一切正常,除非我想保存我在第二堂课中所做的计算。文本文件中的内容包含之前的(一级计算)+二级计算。我想要的是一个具有一级计算的文件和另一个具有二级计算的文件。关于我应该如何做到这一点的任何想法?

编辑:

只是为了说明这一点:
它应该看起来像这样
class 1 {1,2,3,4}
class 2 {5,6,7,8}


我目前拥有的是
1 类 {1,2,3,4}
2 类 {1,2,3,4,5,6,7,8}

这是我的代码:

public void writeDetected(){
    Scanner getFileName = new Scanner(System.in);

    //Enter file name here for first class then after calculation of  
    // 2nd class enter another file name
    String getInp = getFileName.nextLine();
    try{
        FileWriter theFile = new FileWriter(getInp);
        BufferedWriter readBuf = new BufferedWriter (theFile); 
        String convDoubleToString;

        for (Double getVal: detected){
            convDoubleToString = getVal.toString();

            readBuf.write(convDoubleToString);
            readBuf.newLine();
        }

        readBuf.close();

    }

    catch (IOException e){
        System.out.println(e);
    }
}
4

2 回答 2

1

试试这个,

path从发送calling method as ArgumentParameters of the called method,这样您就可以将文件内容写入您想要的任何文件(Here被调用的方法将是writeMyFile(String path)

例如:

public void writeMyFile(String path){

Scanner scan = new Scanner(System.in);

File f = new File(path);

FileWriter fr = new FileWriter(f);

BufferedWriter br  = new BufferedWriter(fr);

while(true){  // its a continuos loop, so better handle it the way u want it

 br.write(new Scanner(System.in).nextLine());

 } 
}
于 2012-06-08T04:41:26.107 回答
0

我会在方法中添加一个字符串输入变量并传入要写入的文件名。那或者您可以创建文件对象并将它们作为输入参数传递。我自己使用了一个字符串,然后传入要写入的文件名。

于 2012-06-08T04:29:29.033 回答