Android 操作手机内置存储卡中的文件

时间:2023-03-09 09:18:54
Android  操作手机内置存储卡中的文件

场景:需要读取指定文件的内容,此文件是手动存储到手机内置存储卡中的,且手机上不存在SD卡。

对于android通过activity提供的openFileOutput和openFileInput可以直接操作内置存储卡,但是保存到路径是用户看不到的:

创建的文件保存在/data/data/<package name>/files目录。

Environment.getExternalStorageDirectory()
这个方法是:当只有内置存储空间的时候,只能获取到内置存储空间的路径。
当内置存储空间和sd卡同时存在时候,只能获取Sd卡的路径,所以可以采用此方法进行。

public static String readURLConfig(){
String url = "#"; //默认的URL
try{
filePath = Environment.getExternalStorageDirectory().toString()+"/wd/config.txt";
}finally{
if(existsFile(filePath)){
try {
url = readFile(filePath);
} catch (IOException e) {
//
}
}
}
return url;
}
/*
* 判断文件是否存在
*/
public static boolean existsFile(String filePath){
File file = new File(filePath);
if(file.exists()){
return true;
}
return false;
} /*
* 读取文件
*/
public static String readFile(String filePath) throws IOException{
InputStream is = new FileInputStream(filePath);
int len = is.available();
byte []buffer = new byte[len];
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((is.read(buffer)) != -1){
baos.write(buffer);
}
byte []data = baos.toByteArray();
baos.close();
is.close();
return new String(data).trim();
}