文本文件:只添加一行文本一次



在我的应用程序中,我添加了允许我将详细信息保存到txt file.的功能

它工作得很好,但是我正试图在顶部一次中添加一个头文件到txt文件。

我得到的问题是它每隔一行生成一次,而不是一次。

我如何改变下面的方法来排序这个问题?

注意:header是在活动前面声明的字符串。

写入文件方法:

public void writeToFileEEGPower(String data){
            boolean isHeader=true;

            Time t= new Time();
            t.setToNow();
            int timeFileMinute= t.minute;
            int timeFileDate= t.yearDay;
            int timeFileYear= t.year;
            //creating file name
            String fileName= "Maths-" +timeFileMinute + timeFileDate + timeFileYear + android.os.Build.SERIAL;
            //creating the file where the contents will be written to
            File file= new File(dir, fileName + ".txt");
            FileOutputStream os;
            try{
                boolean append= true;
                os= new FileOutputStream(file, append);
                String writeMe =data + "n";
                if(isHeader){
                    os.write(header.getBytes());
                    isHeader=false;
                }

                os.write(writeMe.getBytes());
                os.close();
            } catch(FileNotFoundException e){
                e.printStackTrace();
            }catch(IOException e){
                e.printStackTrace();
            }
        }

感兴趣的特定代码段:

if(isHeader){
                        os.write(header.getBytes());
                        isHeader=false;
                    }
public void writeToFileEEGPower(String data, boolean isHeader){
    ....
}

传递在"真"的头和传递在"假"的任何第一个之后?

我按照评论和其他答案中的建议解决了这个问题。

基本上我声明布尔值:isHeader=true;在onCreate()方法的活动和删除它的声明从writeToFileEEGPower()方法。

最新更新