Android写入SD卡文件夹

我正在使用以下代码从服务器下载文件,然后将其写入sd卡的根目录,一切正常:

package com.downloader;

import java.io.File;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.URL;

import android.os.Environment;

import android.util.Log;

public class Downloader {

public void DownloadFile(String fileURL, String fileName) {

try {

File root = Environment.getExternalStorageDirectory();

URL u = new URL(fileURL);

HttpURLConnection c = (HttpURLConnection) u.openConnection();

c.setRequestMethod("GET");

c.setDoOutput(true);

c.connect();

FileOutputStream f = new FileOutputStream(new File(root, fileName));

InputStream in = c.getInputStream();

byte[] buffer = new byte[1024];

int len1 = 0;

while ((len1 = in.read(buffer)) > 0) {

f.write(buffer, 0, len1);

}

f.close();

} catch (Exception e) {

Log.d("Downloader", e.getMessage());

}

}

}

但是,using Environment.getExternalStorageDirectory();表示文件将始终写入root /mnt/sdcard。是否可以指定某个文件夹来写入文件?

例如: /mnt/sdcard/myapp/downloads

回答:

File sdCard = Environment.getExternalStorageDirectory();

File dir = new File (sdCard.getAbsolutePath() + "/dir1/dir2");

dir.mkdirs();

File file = new File(dir, "filename");

FileOutputStream f = new FileOutputStream(file);

...

以上是 Android写入SD卡文件夹 的全部内容, 来源链接: utcz.com/qa/410413.html

回到顶部