Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t在内部存储器中创建文件_Java_Android_File - Fatal编程技术网

Java Can';t在内部存储器中创建文件

Java Can';t在内部存储器中创建文件,java,android,file,Java,Android,File,我试图在内部存储器中创建一个文件并对其进行修改 但是有一个未知的问题,我无法调试它 下面我复制了我的mainActivity类,它包含我为pupose编写的所有代码,但我真的无法调试它!!!我只是在文本视图中什么也看不到 公共类MyActivity扩展了活动{ final static String fileName = "myFile.txt"; File file; @Override public void onCreate(Bundle savedInstanceState) {

我试图在内部存储器中创建一个文件并对其进行修改

但是有一个未知的问题,我无法调试它

下面我复制了我的mainActivity类,它包含我为pupose编写的所有代码,但我真的无法调试它!!!我只是在文本视图中什么也看不到

公共类MyActivity扩展了活动{

final static String fileName = "myFile.txt";
File file;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    initializeFile();
    TextView tv = (TextView) findViewById(R.id.text_view);
    try {
        tv.setText(readFile());
    } catch (IOException e) {
        e.printStackTrace();
    }
    setContentView(R.layout.main);
}


public void initializeFile(){
    try {
        file = new File(getFilesDir() , fileName);
        if(!file.exists()){
            Log.d("BUG","No Files !!");
        }
        FileOutputStream out = openFileOutput(fileName , MODE_PRIVATE);
        out.write("My text".getBytes());
        out.close();

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

public String readFile() throws IOException {
    String s = "";
    Scanner scan = new Scanner(file);
    if (!file.exists())
    {
        Log.d("BUG","NO File(reading)");
    }
    while(scan.hasNext()){
        s += scan.nextLine();
    }
    return s;
}

在您尝试获取TextView tv之前,您应该调用
setContentView(R.layout.main)
。其他地方有NPE,因为您的主视图没有膨胀,并且没有id为R.id.text\u的视图。其他一切正常。

您从未调用过。close()这没什么大不了的,我已经用过原始代码了。然后你应该发布原始代码,我已经修复了,这是原始代码我真的不相信我的眼睛!!!我已经试了20多次了,但现在没问题!!!谢谢你。