2012-09-20 192 views
0

我尝试使用phonegap ui向我的android手机写入文件。 我已经给了写权限,我试图通过使用getExternalStorageDirectory()并通过给绝对路径。但仍然无法写出来。 S1的是,我在外部存储外部存储设备上的文件写入不起作用

Environment.getExternalStorageState(); 
//File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),"/Android/"); 
       File file = new File("/mnt/sdcard"+ File.separator + "Android" + File.separator); 


       if (!file.exists()) { 
        if (!file.mkdirs()) { 
         Log.e("TravellerLog :: ", "Problem creating Folder"); 

        } 
       } 
       Environment.getExternalStorageState(); 
       File outputFile = new File(file, s1); 
       FileOutputStream fileoutputstream = new FileOutputStream(outputFile); 
       byte abyte0[] = new byte[1024]; 
       for (int i = 0; (i = inputstream.read(abyte0)) > 0;) 
        fileoutputstream.write(abyte0, 0, i); 

       fileoutputstream.close(); 
       inputstream.close(); 
+0

您已经添加外部存储权限清单文件??? – magirtopcu

+0

@ user1645941:是的..我已经包含在我的清单文件中 – karthick

回答

0

我写了写一个文件到外部存储的快速工作演示我写的文件的名称。

如果这仍然不起作用,它可能是一个phonegap特定的问题。

希望这有助于:

InputStream is = null; 
    OutputStream os = null; 
    byte[] buffer = new byte[2048]; 
    int bytes_read = 0; 
    File inputFile = new File("/init.rc"); 
    File outputFile = new File(Environment.getExternalStorageDirectory() + "/testfile"); 
    try 
    { 
     is = new FileInputStream(inputFile); 
     os = new FileOutputStream(outputFile); 

     while ((bytes_read = is.read(buffer)) != -1) 
     { 
      os.write(buffer, 0, bytes_read); 
     } 

    } 
    catch (Exception ignore) {} 
    finally 
    { 
     try 
     { 
      is.close(); 
     } 
     catch (Exception ignore) {} 

     try 
     { 
      os.close(); 
     } 
     catch (Exception ignore) {} 
    } 

    if (outputFile.exists()) 
    { 
     Toast.makeText(this, "Success!", Toast.LENGTH_LONG).show(); 
    } 
    else 
    { 
     Toast.makeText(this, "Failure!", Toast.LENGTH_LONG).show(); 
    } 
+0

谢谢你我会尝试你的代码,看看 – karthick

相关问题