`
kanwoerzi
  • 浏览: 1645955 次
文章分类
社区版块
存档分类
最新评论

android中读写SD Card文件

 
阅读更多
1.使用mksdcard命令创建一个名为sdcard.img的128M(M需大写)SD卡镜像。
mksdcard128Msdcard.img
2.把sdcard.img拷贝到D:\projects2下,在Eclipse中的RunConfiguration对话框中设置启动参数。
-sdcardD:\projects2\sdcard.img
这样SDCard就可用了。
3.sdcard中加入内容
adbpushE:\Xunlei\give.mp3/sdcard/give.mp3。
4.应用程序中对文件的读写
注意如果在应用程序中要对SDcard进行写操作的话,
需要加上androi权限android.permission.WRITE_EXTERNAL_STORAGE
如下:
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
实例1
Buttonbutton6=(Button)findViewById(R.id.Button06);
OnClickListenerlistener6=newOnClickListener(){
@Override
publicvoidonClick(Viewv){
createSDFile();
}
};
button6.setOnClickListener(listener6);
Buttonbutton7=(Button)findViewById(R.id.Button07);
OnClickListenerlistener7=newOnClickListener(){
@Override
publicvoidonClick(Viewv){
writeSDFile(kFileName);
}
};
button7.setOnClickListener(listener7);

Buttonbutton8=(Button)findViewById(R.id.Button08);
OnClickListenerlistener8=newOnClickListener(){
@Override
publicvoidonClick(Viewv){
readSDFile(kFileName);
}
};
button8.setOnClickListener(listener8);

StringkFileName="/sdcard/uad2/test.txt";
voidcreateSDFile()
{
createSDFile(kFileName);
}
finalstaticStringkSdCardRoot="sdcard";
voidcreateSDFile(StringfileFullName)
{
if(fileFullName.charAt(0)=='/')
fileFullName=fileFullName.substring(1,fileFullName.length());
Stringname[]=fileFullName.split("/");
if(name==null||name.length<2)
return;
if(!name[0].equals(kSdCardRoot))
{
Log.i(tag,fileFullName+"isnotafile"+name[0]);
return;
}
FilesdDir=newFile("/"+kSdCardRoot);
if(!sdDir.exists())
{
Log.i(tag,"SDcardisnotexists");
return;
}
if(!sdDir.canWrite())
{
Log.i(tag,sdDir.length()+"SDcardcannotbewrote"+sdDir.canRead());
return;
}
Filedir=sdDir;
for(inti=1;i<name.length-1;i++)
{
dir=newFile(dir.getAbsolutePath()+"/"+name<wbr style="line-height:25px">);<br style="line-height:25px"> if(dir.exists())<br style="line-height:25px"> continue;<br style="line-height:25px"> booleanres=dir.mkdir();<br style="line-height:25px"></wbr>
if(!res)
{
Log.i(tag,"createdir:"+res+"fail"+name<wbr style="line-height:25px">);<br style="line-height:25px"> return;<br style="line-height:25px"> }<br style="line-height:25px"> }<br style="line-height:25px"> StringfileName=name[name.length-1].trim();<br style="line-height:25px"></wbr>
if(fileName.length()>0)
{
Filefile=newFile(dir.getAbsolutePath()+"/"+name[name.length-1]);
if(!file.exists())
{
try{
file.createNewFile();
}
catch(IOExceptione)
{
Log.e(tag,"creatFileerro:",e);
}
}
}

}
voidwriteSDFile(StringfileName)
{
Filefile=newFile(fileName);
if(!file.exists())
createSDFile(fileName);
if(!file.canWrite())
{
Log.i(tag,"file:"+file.getAbsoluteFile()+"cannottobewrote");
return;
}
Stringcontent="hello:"+System.currentTimeMillis();
FileOutputStreamos=null;
try{
os=newFileOutputStream(file);
os.write(content.getBytes());
Log.i(tag,"write:"+content);
}
catch(IOExceptione)
{
Log.e(tag,"writefile",e);
}
finally
{
if(os!=null)
{
try{
os.flush();
os.close();
}catch(IOExceptione)
{
Log.e(tag,"closefile",e);
}
}
}
}
voidreadSDFile(StringfileName)
{
Stringcontent;
FileInputStreamis=null;
Filefile=newFile(fileName);
if(!file.exists())
{
Log.i(tag,file.getAbsolutePath()+"isnotexists");
return;
}
if(!file.canRead())
{
Log.i(tag,file.getAbsolutePath()+"cannotberead");
return;
}
try{
is=newFileInputStream(file);
bytebuffer[]=newbyte[is.available()];
is.read(buffer);
content=newString(buffer);
Log.i(tag,"readSDfile:"+content);
//InputStreamReaderinReader=newInputStreamReader(is);
}
catch(IOExceptione)
{
Log.e(tag,"writefile",e);
}
finally
{
if(is!=null)
{
try{
is.close();
}catch(IOExceptione)
{
Log.e(tag,"closefile",e);
}
}
}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics