android新手求助 文件写不了

如题,照着第一行代码打的,没有报错,什么都没有,可是就是没有输出文件,连安装路径都没有不要说该路径下写文件,代码如下
package com.yzx.example.filepersistencetest;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.EditText;

public class MainActivity extends Activity {
private EditText edit;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    edit=(EditText)findViewById(R.id.edit);

}



@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    String inputText=edit.getText().toString();
    save(inputText);
    super.onDestroy();
}
public void save(String inputText){
    FileOutputStream out=null;
    BufferedWriter writer=null;
    try{
        out=openFileOutput("heheha.txt",Context.MODE_PRIVATE);
        writer=new BufferedWriter(new OutputStreamWriter(out));
        writer.write(inputText);

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

    }finally{
        try{
            if(writer!=null){
                writer.close();

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

        }
    }

}

}
自己试着手动去android/data/目录下创建了<包名>/files文件夹,可是也没有用,求大神帮忙看看

4个回答

写文件需要读写SD卡权限,6.0及以上版本还需要动态检测权限并重新申请权限
读写权限:

检查并申请权限:(这里以WRITE_EXTERNAL_STORAGE权限为例)
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
//申请WRITE_EXTERNAL_STORAGE权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
WRITE_EXTERNAL_STORAGE_REQUEST_CODE);
}

Welcome_Word
Welcome_Word 回复吴wchao_activity: 谢谢,代码没出问题,是因为我手机没root,看不到文件,因为这文件是写在软件默认位置的,不需要权限,不过通过你我知道了android6.0危险权限需要动态申请,再次谢谢
3 年多之前 回复
u011610605
我不是超哥 权限不见了:<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <user-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3 年多之前 回复

试着在onStart()函数中写,不要在onDestroy()中写,可能与活动周期性有关,也可能是你的权限没加。

Welcome_Word
Welcome_Word 不需要权限,代码没出问题,我看不到文件是因为没有root,看不到系统隐藏文件
3 年多之前 回复

系统文件隐藏或是没有权限都有可能呢,这类的程序最好在手机上运行,模拟器上经常会找不到文件

Welcome_Word
Welcome_Word 就是真机,不过没root,看不到,换了台就看到了,而且可以读取出来
3 年多之前 回复

在data/data/应用包名/里面找找

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问