Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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 android写入SD卡_Java_Android_File - Fatal编程技术网

Java android写入SD卡

Java android写入SD卡,java,android,file,Java,Android,File,我不能写SD卡。我无法创建目录或文件,我缺少什么?我在清单中有这个 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 这在我的代码中 btnSave.setOnClickListener(new View.OnClickListener() { public void onClick(View

我不能写SD卡。我无法创建目录或文件,我缺少什么?我在清单中有这个

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
这在我的代码中

btnSave.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View arg0) 
            {   
                // Create a directory; all ancestor directories must exist
                    boolean success = (new File("/sdcard/Methods/")).mkdirs();
                //create file   
                    try{
                    File myFile = new File("/sdcard/Methods/Method 1 Square.xml");
                    File file = myFile;
                        // Create file if it does not exist
                        boolean success1 = file.createNewFile();}   
                    catch (IOException e) 
                        {}
                //write to file
                    try {
                        BufferedWriter out = new BufferedWriter(new FileWriter("/sdcard/Methods/Method 1 Square.xml"));
                        out.write ("<?xml version=\"1.0\"?>");
                        out.write ("<?mso-application progid=\"Excel.Sheet\"?>");
                        out.write ("Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\"");
                        out.close();
                    } // end try
                    catch (IOException e) 
                    {
                    } // end catch

            } // end public

        }); // end SAVE Button
第一件事:

只需检查“success”变量,它是否返回真的true

第二件事:

由于您硬编码了/sdcard,因此我建议您使用:Environment.getExternalStorageDirectory获取目录,因为在某些设备中,sd卡的根目录是/mnt/sdcard,因此使用上述方法获取根目录

第三件事:

您应该首先检查SD卡是否已安装

例子: 第一件事:

只需检查“success”变量,它是否返回真的true

第二件事:

由于您硬编码了/sdcard,因此我建议您使用:Environment.getExternalStorageDirectory获取目录,因为在某些设备中,sd卡的根目录是/mnt/sdcard,因此使用上述方法获取根目录

第三件事:

您应该首先检查SD卡是否已安装

例子:
问题可能是路径中的目录不存在。使用该FileWriter构造函数,如果文件不存在,则会创建该文件,但其中不包括目录。

问题可能是路径中的目录不存在。使用该FileWriter构造函数,如果文件不存在,则会创建该文件,但其中不包括目录。

是否出现错误?你的日志怎么说?你怎么知道它不工作?因为目录或文件不在我的SD卡上。我想是时候学习logcat了。谢谢你。那么你有错误吗?你的日志怎么说?你怎么知道它不工作?因为目录或文件不在我的SD卡上。我想是时候学习logcat了。谢谢。我是java和eclipse的新手,不知道如何做你所指控的事情。我为每一个新想法而奋斗。今天,我创建了一个excel.xml文件的binning,添加了500行并尝试编写。我使用android模拟器和我的手机进行测试,希望我知道或者了解eclipse。我要去学习如何检查变量。谢谢。用你的方式试试上面的例子。你的第二件事解决了这个问题!。我想我必须弄清楚Environment.getExternalStorageDirectory是什么,这样我才能确保我的apk在任何地方都能工作。感谢YOU@WmBurkert是的,干杯:这是一个愚蠢的错误,大多数男性都会犯,如果他们不知道的话。享受我是java和eclipse的新手,不知道如何做你所指控的事情。我为每一个新想法而奋斗。今天,我创建了一个excel.xml文件的binning,添加了500行并尝试编写。我使用android模拟器和我的手机进行测试,希望我知道或者了解eclipse。我要去学习如何检查变量。谢谢。用你的方式试试上面的例子。你的第二件事解决了这个问题!。我想我必须弄清楚Environment.getExternalStorageDirectory是什么,这样我才能确保我的apk在任何地方都能工作。感谢YOU@WmBurkert是的,干杯:这是一个愚蠢的错误,大多数男性都会犯,如果他们不知道的话。享受
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdcard.getAbsolutePath() + "/dir/subdir");  // in your case, just give /Methods

dir.mkdirs();
File file = new File(dir, "filename");  // in your case, just give "Method 1 Square.xml"

FileOutputStream f = new FileOutputStream(file);