【问题标题】:Change or delete single row in a file txt on the mobile storage更改或删除移动存储上文件 txt 中的单行
【发布时间】:2019-09-26 13:19:05
【问题描述】:

我正在开发一个保存更多帐户的应用程序。我不使用数据库,但我使用文件...我的问题是是否可以更改或删除手机存储中文件 txt 中的单行???

【问题讨论】:

  • 我已成功写入和读取文件。可能也可以更新它们。这些文件存储在 /data/data/com.example.yourapp/files 中(确保将 com.example.yourapp 替换为您的包名称)。要查看磁盘上的文件,请转到 Android Studio 中的 View > Tool Windows > Device File Explorer。
  • 但我想删除或更改 Java 代码.-.
  • 当然可以,只要你对文件有读写权限。

标签: java android


【解决方案1】:

只有当您对文件具有读写权限时,您才能编辑该文件。您在 cmets 中提到您已经读取并写入文件。要编辑你必须做的是从文件中读取内容,编辑它并再次写入。要实现这一点,只需重复您在读取/写入时所做的操作

要编辑文件的内容,您需要从磁盘读取它,用它创建一个新的 FileInputStream,编辑您的流,然后创建一个新的 FileOutPutSteam 并写入它,如下所示:

File file = f;
FileInputStream fin;
fin = new FileInputStream(file);
byte fileContent[] = new byte[(int)file.length()];
fin.read(fileContent)
//Convert your stream to string, manipulate it and convert it back to a stream
FileOutputStream fos = new FileOutputStream(f.getAbsolutePath());
fos.write(my_out_stream);
fin.close();
fos.close();

要将您的 FileInputStream 转换为字符串,请使用: https://stackoverflow.com/a/15161590/10089348

并将其转换回 FileOutputStream 使用 https://stackoverflow.com/a/4069932/10089348

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 2018-11-10
    • 2019-05-15
    相关资源
    最近更新 更多