繁体   English   中英

将字符串数据追加(添加)到Android应用程序中的SD卡文本文件中

[英]Append (add) String data to an SD Card text file in an Android application

这里只是一个快速点。 尽管我的代码似乎可以使用在内部或外部(SD卡)存储中写入mytext.txt文件的标准技术将String数据等存储在新文件中,但对于我的App来说,它对我来说更有用通过重复允许用户重复该过程(例如,用户输入和按钮保存)或关闭App并重新开始,将更多数据添加到同一目录中,因此,除非用户选择手动删除,否则数据将永久保留该数据。 使用条件语句检查文件或目录是否存在对情况没有影响,我得到的结果与以前相同(一个答案)。 还更改了写入方法,例如osw.write(myStr);。 到osw.append(myStr); 保持原样。 代码或应用程序中没有错误。 这是MainActivity Java文件一部分的典型代码

//earlier code
try
{
    File sdCard = Environment.getExternalStorageDirectory();
    File directory = new File (sdCard.getAbsolutePath() +
    "/MyFiles");
    if (!directory.exists())
    {
        directory.mkdirs();
    }

    File file = new File(directory, "mytext.txt");
     if (!file.exists()) 
     {    
         file.createNewFile();
     } 
    FileOutputStream fOut = new FileOutputStream(file);

    OutputStreamWriter osw = new
            OutputStreamWriter(fOut);

//---write the string to the file---
osw.write(myStr);
osw.flush();
osw.close();

}
catch (IOException ioe)
{
ioe.printStackTrace();
}

// continued code ...

PS。 在我的设备上,mytext.txt文件存储在内部存储器中(可能名为sdcard0?),而不是期望它位于可访问/可移动SD卡中。

更改

FileOutputStream fOut = new FileOutputStream(file);

FileOutputStream fOut = new FileOutputStream(file, true);

参见http://developer.android.com/reference/java/io/FileOutputStream.html#FileOutputStream(java.io.File,boolean

为此,您需要读取预先存在的文本文件并将其转换为字符串。

然后附加字符串。

删除文本文件

在同一位置写入文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM