Environment 常用方法:
* 方法:getDataDirectory()
解释:返回 File ,获取 Android 数据目录。
* 方法:getDownloadCacheDirectory()
解释:返回 File ,获取 Android 下载/缓存内容目录。
* 方法:getExternalStorageDirectory()
解释:返回 File ,获取外部存储目录即 SDCard
* 方法:getExternalStoragePublicDirectory(String type)
解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
* 方法:getExternalStorageState()
解释:返回 File ,获取外部存储设备的当前状态
* 方法:getRootDirectory()
解释:返回 File ,获取 Android 的根目录
package jianglin.fileutils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.os.Environment;
public class FileUtils {
private String SDCardROOT;
public String getSDPATH() {
return SDCardROOT;
}
public FileUtils() {
//得到当前外部存储设备的目录,得到的目录名/SDCARD
SDCardROOT = Environment.getExternalStorageDirectory().getAbsolutePath() +File.separator;
}
//在SD卡上创建文件
public File createFileInSDCard(String fileName,String dir) throws IOException {
File file = new File(SDCardROOT + dir + File.separator + fileName);
file.createNewFile();
return file;
}
//在SD卡上创建目录
public File creatSDDir(String dir) {
File dirFile = new File(SDCardROOT + dir + File.separator);
System.out.println(dirFile.mkdirs());
return dirFile;
}
//判断SD卡上的文件夹是否存在
public boolean isFileExist(String fileName,String path){
File file = new File(SDCardROOT + path + File.separator + fileName);
return file.exists();
}
public File write2SDFromInput(String path,String fileName,InputStream input){
File file = null;
OutputStream output = null;
try{
creatSDDir(path);
file = createFileInSDCard(fileName,path);
output = new FileOutputStream(file);
byte buffer [] = new byte[4 * 1024];
int temp;
while((temp = input.read(buffer)) != -1){
output.write(buffer,0,temp);
}
output.flush();
}
catch(Exception e){
e.printStackTrace();
}
finally{
try{
output.close();
}
catch(Exception e){
e.printStackTrace();
}
}
return file;
}
}