看不到我创建的文件

时间:2014-10-15 10:49:15

标签: android

有人告诉我,当我创建我的文件时,我将能够在sdcard / android / data / myproject名称/文件中看到它 我没有看到我创建的文件 我正在使用此代码...

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.savedata);

    Button b=(Button)findViewById(R.id.proceed);

    EditText et=(EditText) findViewById(R.id.result);

    b.setOnClickListener(new View.OnClickListener()

    {

        public void onClick(View arg)

        {

            File f=new File(getFilesDir(),"Save.txt");

            try{

            f.createNewFile();

            }

            catch(Exception exc)
            {}

        }

    });

}

请帮助我,我是Android开发新手

2 个答案:

答案 0 :(得分:0)

嗯,这里可能会发生很多事情。

  • 您的目录可能因安装存储或simillar
  • 而被锁定
  • 也许您无法保存在此目录中,因为它不存在
  • Android可以阻止您的应用程序的此目录(4.4及其保存权限)
  • 您没有在清单
  • 中设置权限
  • 还有更多

你不检查这些。在你的代码方法中,createNewFile()在save之后返回boolean,因此你知道它是否完整。如果发生了不好的事情,也可以立即抛出异常(没有dir?有createDirs()。阻塞的dir - 从Environment获取其他位置)。检查一下,你会知道发生了什么。

答案 1 :(得分:-1)

b.setOnClickListener(new View.OnClickListener() {
    public void onClick(View arg) {
        try {
            File newFolder = new File(Environment.getExternalStorageDirectory(), "TestFolder");
            if (!newFolder.exists()) {
                newFolder.mkdir();
            }
            try {
                File file = new File(newFolder, "MyTest" + ".txt");
                file.createNewFile();
            } catch (Exception ex) {
                System.out.println("ex: " + ex);
            }
        } catch (Exception e) {
            System.out.println("e: " + e);
        }
    }
});

以及

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>