Android正曰记50字 确获取SD卡⽬录及使⽤SD卡⽬录
SD卡作为⼿机的扩展存储设备,在⼿机中充当硬盘⾓⾊,可以让我们⼿机存放更多的数据以及多媒体等⼤体积⽂件。因此查看SD卡的内存就跟我
们查看硬盘的剩余空间⼀样,是我们经常操作的⼀件事,那么在Android开发中,我们如何能获取SD卡的内存容量呢?
1、判断⼿机是否插⼊SD卡
Java代码
if(Enviroif(ernalStorageState().equals(_MOU
NTED)){
doSth();
//....
}
2、然后才能操作SD卡
ernaraFilepath=ernalStorageDirectory();
这个PATH就是你要操作的路径,当然你在操作的时候最好对SD卡的使⽤做个检测判断,当SD卡有存储空间时才可以进⾏存储操作。
StatFsstatfs=newStatFs(h());
获取BLOCK的SIZE
longblocSize=ckSize();
获取BLOCK数量
longtotalBlocks=ckCount()
空闲的Block的数量
longavailaBlock=ilableBlocks();
XML/HTML代码
android:name="_EXTERNAL_STORAGE">
2、获得SD卡⽬录
ernageDirecsdCardDir=ernalStorageDirectory();//获取SDCard⽬录
3、写⼊⽂件
Filef=ernalStorageDirectory();//获取SD卡⽬录
FilefileDir=newFile(f,"");
FileOutputStreamos=newFileOutputStream(fileDir);
t最好看的古装电视剧 ry{
(es());
();
showToast("保存到SD卡中");
}catch(IOException
e){
//
TODOAuto-generatedcatchblock
tackTrace();
}
4、读取⽂件
Filef=ernalStorageDirectory();//获取SD卡⽬录
FilefileDir=newFile(f,"");
is=newFileInputStream(fileDir);
ByteArrayOutputStreambos=newByteArrayOutputStream();
byte[]array=newbyte[1024];
intlen=-1;
while(
(len=(array))查字典英文 !=-1){
(array,0,len);
}
();
();
ng();
5、读取权限
在中加⼊访问SDCard的权限如下:
要往SDCard存放⽂件,程序必须先判断⼿机是否装有SDCard,并且可以进⾏读写。
6、其它⽅法
getCacheDir()⽅法⽤于获取/data/data//cache⽬录。
getFilesDir()⽅法⽤于获取/data/data//files⽬录。
其实就是普通的⽂件操作,不过还是有些地⽅需要注意。⽐如:
1.加⼊sdcard操作权限;
2.确认sdcard的存在;
3.不能直接在⾮sdcard的根⽬录创建⽂件,⽽是需要先创建⽬录,再创建⽂件;
在添加sdcard操作权限
变量声明:
privatefinalstaticStringPATH="/sdcard/digu";
privatefinalstaticStringFILENA哟组词 ME="/";
向sdcard写⽂件
/**
*写⽂件
*/
privatevoidonWrite(){
try{
Log.d(LOG_TAG,"StartWrite");
//1.判断是否存在sdcard
if(_(ernalStorageState())){
//⽬录
Filepath=newFile(PATH);
//⽂件
Filef=newFile(PATH+FILENAME);
if(!()){
//2.创建⽬录,可以在应⽤启动的时候创建
();
}
if(!()){
//3.创建⽂件
NewFile();
}
OutputStreamWriterosw=newOutputStreamWriter(
newFileOutputStream(f));
//4.写⽂件,从EditView获得⽂本值
(t().toString());
();
}
}catch(Exceptione){
Log.d(LOG_TAG,"filecreateerror");
}
}
接着我们在使⽤SDcard进⾏读写的时候会⽤到Environment类下⾯的⼏个静态⽅法
1:getDataDirectory()获取到Androi吉他入门谱 中的data数据⽬录
2:getDownloadCacheDirectory()获取到下载的缓存⽬录
3经典老哥 :getExternalStorageDirectory()获取到外部存储的⽬录⼀般指SDcard
4:getExternalStorageState()获取外部设置的当前状态⼀般指SDcard,
5:getRootDirectory()获取到AndroidRoot路径
6:isExternalStorageEmulated()返回Boolean值判断外部设置是否有效
7:isExternal帅气的英文名 StorageRemovable()返回Boolean值,判断外部设置是否可以移除
【注】上⾯进⾏红⾊标记的⽅法,我们会常⽤
ernalStorageState().equals(_MOUNTED)代码中这句:我们对SDcard的状态进⾏判断,
下⾯看实现SDCard进⾏⽂件读写操作的Demo:
;
putStream;
tputStream;
t;
;
nment;
;
k教你如何降肝火 Listener;
;
xt;
;
publicclassSDcardActivityextendsActivity{
privateButtonbt1,bt2;
privateEditTextet1,et2;
privatestaticfinalStringFILENAME="temp_";
@Override
publicvoidonCreate(BundlesavedInstanceState){
te(savedInstanceState);
tContentView();
bt1=(Button)ewById(1);
bt2=(Button)ewById(2);
et1=(EditText)ewById(1);
et2=(EditText)ewById(2);
lickListener(newMySetOnClickListener());
lickListener(newMySetOnClickListen拱伏无违 er());
}
privateclassMySetOnClickListenerimplementsOnClickListener{
@Override
publicvoidonClick(Viewv){
Filefile=newFile(ernalStorageDirectory(),
FILENAME);
switch(()){
1://使⽤SDcard写操作
if(ernalStorageState().equals(
_MOUNTED)){
try{
FileOutputStreamfos=newFileOutputStream(file);
(t().toString().getBytes());
();我国最长的河流是
xt(,"写⼊⽂件成功",
_LONG).show();
}catch(Exceptione){
xt(,"写⼊⽂件失败",
_SHORT).show();
}
本文发布于:2023-03-23 02:53:52,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1679511234350266.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:sd卡怎么用.doc
本文 PDF 下载地址:sd卡怎么用.pdf
留言与评论(共有 0 条评论) |