首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android:如何将文件写入内部存储

Android:如何将文件写入内部存储
EN

Stack Overflow用户
提问于 2017-06-16 10:38:13
回答 8查看 148.4K关注 0票数 49

我正在开发一个简单的android应用程序,我需要在内部存储设备中编写一个文本文件。我知道关于这件事有很多问题(和答案),但我真的不明白我在用错误的方式做什么。

这是我在活动中用来编写文件的代码:

代码语言:javascript
复制
public void writeAFile(){
    String fileName = "myFile.txt";
    String textToWrite = "This is some text!";
    FileOutputStream outputStream;

   try {
      outputStream = openFileOutput(fileName , Context.MODE_PRIVATE);
      outputStream.write(textToWrite.getBytes());
      outputStream.close();
   } catch (Exception e) {
     e.printStackTrace();
   }
}

我真搞不懂我在犯什么错误。此外,我在Android的模拟器和我的手机上尝试了项目,以了解我在哪里做错了什么,但是即使在这个项目中,也没有任何文件是在电话或模拟器上写的。

编辑:我知道没有任何文件被写入到我的内部存储中,因为我尝试用以下代码读取文件的内容:

代码语言:javascript
复制
public void ReadBtn(View v) {
    //reading text from file
    try {
        FileInputStream fileIn=openFileInput("myFile.txt");
        InputStreamReader InputRead= new InputStreamReader(fileIn);

        char[] inputBuffer= new char[READ_BLOCK_SIZE];
        String s="";
        int charRead;

        while ((charRead=InputRead.read(inputBuffer))>0) {
            String readstring=String.copyValueOf(inputBuffer,0,charRead);
            s +=readstring;
        }
        InputRead.close();
        textmsg.setText(s);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

什么都没有显示出来。

EN

Stack Overflow用户

发布于 2022-07-03 23:43:39

要将文件写入内部存储,可以使用以下代码:

代码语言:javascript
复制
val filename = "myfile"
    val fileContents = "Hello world!"
    context.openFileOutput(filename, Context.MODE_PRIVATE).use {
            it.write(fileContents.toByteArray())
    }
票数 0
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44587187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档