Android編程之在SD卡上進(jìn)行文件讀寫(xiě)操作實(shí)例詳解
本文實(shí)例講述了Android編程之在SD卡上進(jìn)行文件讀寫(xiě)操作的方法。分享給大家供大家參考,具體如下:
很多知識(shí)只有真正理解掌握之后才能運(yùn)用自如,舉一反三。對(duì)Java中的文件操作和android系統(tǒng)SD卡里面的文件操作,你覺(jué)得有區(qū)別嗎,顯然沒(méi)有本質(zhì)區(qū)別,如果勉強(qiáng)說(shuō)有,那也是不足為道滴,但我們?cè)趯?shí)際運(yùn)用中卻要注意如下幾點(diǎn),不然問(wèn)題會(huì)纏上你。
1、首先想要對(duì)android系統(tǒng)SD卡里文件操作需要添加使用權(quán)限:
android系統(tǒng)是不會(huì)讓外來(lái)程序隨意動(dòng)自己內(nèi)存的,如果沒(méi)有許可證,不好意思,不準(zhǔn)你動(dòng)我地盤(pán),在我地盤(pán)得聽(tīng)我的。在配置文件里AndroidManifest.xml里面添加SD卡讀寫(xiě)數(shù)據(jù)權(quán)限。
2、獲取文件絕對(duì)路徑:
這里有兩種方法
方法1:直接使用/mnt/sdcard/+文件名
如: final String FILE_NAME = "/mnt/sdcard/00000.H264";
方法2:通過(guò)系統(tǒng)提供的方法獲取SD的路徑,然后在后面加上文件名稱。這個(gè)方法有點(diǎn)啰嗦,暫沒(méi)感受到它的妙處,不過(guò)在此還是羅列出來(lái),供以后參考。見(jiàn)后面實(shí)例。
3、獲取文件路徑后的操作,跳不出對(duì)FileInputStream、FileOutputStream、FileReader、FileWriter四個(gè)類的使用。具體參看前面《Java編程之文件讀寫(xiě)》
下附將數(shù)據(jù)寫(xiě)入SD卡文件的簡(jiǎn)單運(yùn)用代碼:
方法1運(yùn)用代碼:
public class FileTestActivity extends Activity
{
final String FILE_NAME = "/mnt/sdcard/007.test";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.button1);
final byte[] buf = { 0 };
btn.setOnClickListener(new OnClickListener()
{
public void onClick(View arg0)
{
try
{
FileOutputStream fout = new FileOutputStream(FILE_NAME,
true);
BufferedOutputStream bout = new BufferedOutputStream(fout);
bout.write(buf);
bout.flush();
bout.close();
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
});
}
}
方法2運(yùn)用實(shí)例代碼
public class FileTestActivity extends Activity
{
final String FILE_NAME = "/007.test";
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.button1);
final byte[] buf = { 0 };
btn.setOnClickListener(new OnClickListener()
{
public void onClick(View arg0)
{
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED))
{
File sdDir = Environment.getExternalStorageDirectory();
System.out.println(sdDir);
FileOutputStream fout;
try
{
System.out.println(sdDir.getCanonicalPath() + FILE_NAME);
fout = new FileOutputStream(sdDir.getCanonicalPath()
+ FILE_NAME, true);
BufferedOutputStream bout = new BufferedOutputStream(
fout);
bout.write(buf);
bout.flush();
bout.close();
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
});
}
}
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
基于Android RecyclerView實(shí)現(xiàn)宮格拖拽效果
在Android發(fā)展的進(jìn)程中,網(wǎng)格布局一直比較有熱度,其中一個(gè)原因是對(duì)用戶來(lái)說(shuō)便捷操作,對(duì)app廠商而言也會(huì)帶來(lái)很多的曝光量,本篇我們會(huì)使用RecyclerView來(lái)實(shí)現(xiàn)網(wǎng)格拖拽,本篇將結(jié)合圖片分片案例,實(shí)現(xiàn)拖拽效果,需要的朋友可以參考下2024-03-03
Android自定義豎直方向SeekBar多色進(jìn)度條
這篇文章主要介紹了Android自定義SeekBar實(shí)現(xiàn)多色豎直進(jìn)度條效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
Android內(nèi)存優(yōu)化操作方法梳理總結(jié)
這篇文章主要介紹了Android 內(nèi)存優(yōu)化知識(shí)點(diǎn)梳理總結(jié),Android 操作系統(tǒng)給每個(gè)進(jìn)程都會(huì)分配指定額度的內(nèi)存空間,App 使用內(nèi)存來(lái)進(jìn)行快速的文件訪問(wèn)交互,長(zhǎng)時(shí)間如此便需要優(yōu)化策略,文章分享優(yōu)化知識(shí)點(diǎn)總結(jié),需要的朋友可以參考一下2022-11-11
關(guān)于Android的 DiskLruCache磁盤(pán)緩存機(jī)制原理
DiskLruCache是一種管理數(shù)據(jù)存儲(chǔ)的技術(shù),單從Cache的字面意思也可以理解到,"Cache","高速緩存";今天我們來(lái)從源碼上分析下DiskLruCache;關(guān)于Android LruCache的緩存機(jī)制原理,需要的朋友可以參考下面文章的具體內(nèi)容2021-09-09
Android webview轉(zhuǎn)PDF的方法示例
本篇文章主要介紹了Android webview轉(zhuǎn)PDF的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
TextView中URL等指定特殊字符串與點(diǎn)擊事件解析
這篇文章主要為大家詳細(xì)介紹了TextView中URL等指定特殊字符串與點(diǎn)擊事件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
Android自定義ViewFlipper實(shí)現(xiàn)滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewFlipper實(shí)現(xiàn)滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
Android編程雙重單選對(duì)話框布局實(shí)現(xiàn)與事件監(jiān)聽(tīng)方法示例
這篇文章主要介紹了Android編程雙重單選對(duì)話框布局實(shí)現(xiàn)與事件監(jiān)聽(tīng)方法,涉及Android雙重單選對(duì)話框的界面布局與事件監(jiān)聽(tīng)、響應(yīng)等相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
Android實(shí)現(xiàn)仿淘寶購(gòu)物車增加和減少商品數(shù)量功能demo示例
這篇文章主要介紹了Android實(shí)現(xiàn)仿淘寶購(gòu)物車增加和減少商品數(shù)量功能,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)的淘寶購(gòu)物車商品數(shù)量變換與計(jì)算相關(guān)技巧,需要的朋友可以參考下2016-07-07

