android SD卡上文件操作
2013-08-14 16:10
218 查看
Environment 常用方法:
* 方法:getDataDirectory()
解释:返回 File ,获取 Android 数据目录。
* 方法:getDownloadCacheDirectory()
解释:返回 File ,获取 Android 下载/缓存内容目录。
* 方法:getExternalStorageDirectory()
解释:返回 File ,获取外部存储目录即 SDCard
* 方法:getExternalStoragePublicDirectory(String type)
解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
* 方法:getExternalStorageState()
解释:返回 File ,获取外部存储设备的当前状态
* 方法:getRootDirectory()
解释:返回 File ,获取 Android 的根目录
public void getSDPath(){
File sdDir = null;
File sdDir1 = null;
File sdDir2 = null;
boolean sdCardExist = Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
if (sdCardExist)
{
ed8f
sdDir = Environment.getExternalStorageDirectory();//获取跟目录
sdDir1 = Environment.getDataDirectory();
sdDir2 =Environment.getRootDirectory();
}
System.out.println("getExternalStorageDirectory(): "+sdDir.toString());
System.out.println("getDataDirectory(): "+sdDir1.toString());
System.out.println("getRootDirectory(): "+sdDir2.toString());
}
//判断一个路径下的文件(文件夹)是否存在
public class IsExist {
public static void main(String[] args) {
isExist("e://12");
}
/**
*
* @param path 文件夹路径
*/
public static void isExist(String path) {
File file = new File(path);
//判断文件夹是否存在,如果不存在则创建文件夹
if (!file.exists()) {
file.mkdir();
}
}
}
1.在SD卡上创建一个文件夹
public class make extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File sd=Environment.getExternalStorageDirectory();
String path=sd.getPath()+"/notes";
File file=new File(path);
if(!file.exists())
file.mkdir();
}
1. 得到存储设备的目录:/SDCARD(一般情况下)
SDPATH=Environment.getExternalStorageDirectory()+"/";
2. 判断SD卡上的文件夹是否存在:通过File对象的exists()方法。
/**
* 判断文件是否已经存在;
*
/
public boolean checkFileExists(String filepath) {
File file=new File(SDPATH+filepath);
return file.exists();
}
3.在SD卡上创建目录:通过File对象的mkdir()方法实现。
/*
* 在SD卡上创建目录;
*/
public File createDIR(String dirpath) {
File dir=new File(SDPATH+dirpath);
dir.mkdir();
return dir;
}
4.在SD卡上创建文件:通过File对象的createNewFile()方法实现。
/*
* 在SD卡上创建文件;
*/
public File createFile(String filepath) throws IOException{
File file=new File(SDPATH+filepath);
file.createNewFile();
return file;
}
5.将InputStream字节流写入到SD卡文件中。
/**
* 将一个InputStream中的数据写入至SD卡中
*/
public File writeStreamToSDCard(String dirpath,String filename,InputStream input) {
File file = null;
OutputStream output=null;
try {
//创建目录;
createDIR(dirpath);
//在创建 的目录上创建文件;
file = createFile(dirpath+filename);
output=new FileOutputStream(file);
byte[]bt=new byte[4*1024];
while (input.read(bt)!=-1) {
output.write(bt);
}
//刷新缓存,
output.flush();
} catch (IOException e) {
e.printStackTrace();
}
finally{
try{
output.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
return file;
}
6. 访问的权限:
需在AndroidManifest中加上:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
原文地址:http://blog.163.com/chaoyongan@126/blog/static/31068420201361601319166/
* 方法:getDataDirectory()
解释:返回 File ,获取 Android 数据目录。
* 方法:getDownloadCacheDirectory()
解释:返回 File ,获取 Android 下载/缓存内容目录。
* 方法:getExternalStorageDirectory()
解释:返回 File ,获取外部存储目录即 SDCard
* 方法:getExternalStoragePublicDirectory(String type)
解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
* 方法:getExternalStorageState()
解释:返回 File ,获取外部存储设备的当前状态
* 方法:getRootDirectory()
解释:返回 File ,获取 Android 的根目录
public void getSDPath(){
File sdDir = null;
File sdDir1 = null;
File sdDir2 = null;
boolean sdCardExist = Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在
if (sdCardExist)
{
ed8f
sdDir = Environment.getExternalStorageDirectory();//获取跟目录
sdDir1 = Environment.getDataDirectory();
sdDir2 =Environment.getRootDirectory();
}
System.out.println("getExternalStorageDirectory(): "+sdDir.toString());
System.out.println("getDataDirectory(): "+sdDir1.toString());
System.out.println("getRootDirectory(): "+sdDir2.toString());
}
//判断一个路径下的文件(文件夹)是否存在
public class IsExist {
public static void main(String[] args) {
isExist("e://12");
}
/**
*
* @param path 文件夹路径
*/
public static void isExist(String path) {
File file = new File(path);
//判断文件夹是否存在,如果不存在则创建文件夹
if (!file.exists()) {
file.mkdir();
}
}
}
1.在SD卡上创建一个文件夹
public class make extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
File sd=Environment.getExternalStorageDirectory();
String path=sd.getPath()+"/notes";
File file=new File(path);
if(!file.exists())
file.mkdir();
}
1. 得到存储设备的目录:/SDCARD(一般情况下)
SDPATH=Environment.getExternalStorageDirectory()+"/";
2. 判断SD卡上的文件夹是否存在:通过File对象的exists()方法。
/**
* 判断文件是否已经存在;
*
/
public boolean checkFileExists(String filepath) {
File file=new File(SDPATH+filepath);
return file.exists();
}
3.在SD卡上创建目录:通过File对象的mkdir()方法实现。
/*
* 在SD卡上创建目录;
*/
public File createDIR(String dirpath) {
File dir=new File(SDPATH+dirpath);
dir.mkdir();
return dir;
}
4.在SD卡上创建文件:通过File对象的createNewFile()方法实现。
/*
* 在SD卡上创建文件;
*/
public File createFile(String filepath) throws IOException{
File file=new File(SDPATH+filepath);
file.createNewFile();
return file;
}
5.将InputStream字节流写入到SD卡文件中。
/**
* 将一个InputStream中的数据写入至SD卡中
*/
public File writeStreamToSDCard(String dirpath,String filename,InputStream input) {
File file = null;
OutputStream output=null;
try {
//创建目录;
createDIR(dirpath);
//在创建 的目录上创建文件;
file = createFile(dirpath+filename);
output=new FileOutputStream(file);
byte[]bt=new byte[4*1024];
while (input.read(bt)!=-1) {
output.write(bt);
}
//刷新缓存,
output.flush();
} catch (IOException e) {
e.printStackTrace();
}
finally{
try{
output.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
return file;
}
6. 访问的权限:
需在AndroidManifest中加上:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
原文地址:http://blog.163.com/chaoyongan@126/blog/static/31068420201361601319166/
相关文章推荐
- android虚拟机SD卡文件的操作
- Android SD卡内的文件读写操作
- 【转】Android开发之SD卡上文件操作
- android中对sd卡的 操作文件问题 创建目录 创建文件到指定目录
- Android下SD卡文件操作与数据读写
- Android SD卡简单的文件读写操作
- Android SD卡简单的文件读写操作
- Android中SD卡的操作 - 文件读写及容量计算
- Android SD卡简单的文件读写操作
- Android开发之SD卡上文件操作
- Android中SD卡的操作 - 文件读写及容量计算
- Android SD卡简单的文件读写操作
- android操作文件,保存在手机自带存储上和保存在SD卡上
- Android SD卡简单的文件读写操作
- 从头学android_内部存储空间和sd卡文件读写操作
- Android SD卡简单的文件读写操作
- Android开发之SD卡上文件操作 (转)
- android 文件MD5加密 对SD卡的操作
- Android SD卡简单的文件读写操作
- android中如何在SD卡上进行文件读写操作