2 u013178436 u013178436 于 2013.12.17 11:39 提问

Android手机在内置存储卡中找不到/data/目录。

android初学
写了个简单的file与io程序想在内置存储卡中创建一个简单的文件。
但他总是爆出
error opening trace file: No such file or directory (2)
java.io.FileNotFoundException: /data/messageself.txt: open failed: EACCES (Permission denied)
这样的错误。。
于是我就想是不是文件夹不存在 就手动的在手机上创建了个data文件夹。可是问题没改变依然爆出这样的错误。。。
上代码::

package com.example.combat_12_15_createfileinlocal;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;

import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;

public class MainActivity extends Activity {


private String LocalPath;
private String filename = "messageself.txt";
private static final String ACTIVITY_TAG="LogDemo";  

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Log.i(MainActivity.ACTIVITY_TAG, "This is Information1");   
    LocalPath =  Environment.getDataDirectory() + File.separator; 
    System.out.println(LocalPath);
    File file = new File(LocalPath + filename); 

    try {
        Log.i(MainActivity.ACTIVITY_TAG, "This is Information2");  
        if(!file.exists())
        {
            Log.i(MainActivity.ACTIVITY_TAG, "This is             Information3");  
            file.createNewFile();
            Log.i(MainActivity.ACTIVITY_TAG, "This is Information4"); 
        }else{
            System.out.println("NO exists");
            return;
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    try {
        FileWriter fos = new FileWriter(file);
        BufferedWriter bos = new BufferedWriter(fos);
        bos.write("Test");
    } catch (IOException e) {
        e.printStackTrace();
    }

}

}

之后我在网上谷歌了一段代码说是可以在内置存储卡中创建文件。。但是我创建了之后却找不到这个文件在哪里,,
FileOutputStream fos=context.openFileOutput(filename, Context.MODE_PRIVATE);用的这个方法创建的文件。。谷歌了下说在/data/data/中和apk同一路径。妈蛋我找了半天根本没这个文件夹。。。其实我也很好奇我的apk到底安装在哪里了。

4个回答

u013185349
u013185349   2013.12.17 13:01

手机内存。希望可以帮你解决

u013178436
u013178436 ???大神呐 ,,你讲的也太抽象了吧
接近 4 年之前 回复
u010169720
u010169720   2014.08.28 10:13

如果你直接去手机目录找的话,有些文件是需要root之后才可以看到的

Moruna
Moruna   2013.12.30 10:21

androidmanifest.xml 还没有添加文件读写权限吧

u013415968
u013415968   2014.05.15 17:33

android.permission.WRITE_EXTERNAL_STORAGE 添加 写入SDCard的权限

你上面的 是写入SDCard的,,,路径问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!