Android 在外部存储设备中写入文件不起作用
我试着用phonegap用户界面给我的android手机写一个文件。 我已授予写入权限,并尝试使用getExternalStorageDirectory()和提供绝对路径。但还是不会写。 s1是我正在外部存储器中写入的文件的名称Android 在外部存储设备中写入文件不起作用,android,cordova,Android,Cordova,我试着用phonegap用户界面给我的android手机写一个文件。 我已授予写入权限,并尝试使用getExternalStorageDirectory()和提供绝对路径。但还是不会写。 s1是我正在外部存储器中写入的文件的名称 Environment.getExternalStorageState(); //File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),"/Android
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();
我编写了一个将文件写入外部存储器的快速工作演示 如果这仍然不起作用,可能是电话差距的具体问题 希望这有助于:
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();
}
您是否已将外部存储权限添加到清单文件?@user1645941:是。。我已将其包含在我的清单文件中