Android數(shù)據(jù)持久化之File機(jī)制分析
本文實(shí)例講述了Android數(shù)據(jù)持久化之File機(jī)制。分享給大家供大家參考,具體如下:
在使用Java SE平臺開發(fā)C/S結(jié)構(gòu)的軟件中,F(xiàn)ile 的IO輸入輸出流的使用率是非常高的,通過使用IO輸入輸出流可以對存儲介質(zhì)上的文件進(jìn)行讀寫操作,下面的代碼就是實(shí)現(xiàn)一個在Android平臺上使用File對象操作文件的功能:
package com.example.data_file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
@SuppressLint("SdCardPath")
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
File file = new File("/data/data/com.example.data_file/file.txt");
Log.v("path=", file.getAbsolutePath());
file.createNewFile();
FileOutputStream fos = new FileOutputStream(file);
fos.write("烏拉啦啦啦".getBytes());
fos.close();
FileInputStream fis = new FileInputStream(file);
InputStreamReader isReader = new InputStreamReader(fis);
char[] charArray = new char[2];
int readLength = isReader.read(charArray);
StringBuffer sb = new StringBuffer();
while(readLength != -1)
{
sb.append(charArray, 0, readLength);
readLength = isReader.read(charArray);
}
Log.v("file.txt文件內(nèi)容是:", sb.toString());
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
注意:Linux系統(tǒng)下對權(quán)限的要求比較高,不允許隨便存儲文件,所以存儲文件的路徑為:/data/data/<包名>/Files/<文件名>
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android文件操作技巧匯總》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
- Android startActivityForResult實(shí)例詳解
- Android在Fragment中實(shí)現(xiàn)監(jiān)聽觸摸事件
- Android 使用FragmentTabhost代替Tabhost
- Android數(shù)據(jù)持久化之Preferences機(jī)制詳解
- Android 如何本地加載pdf文件
- Android利用FlexboxLayout輕松實(shí)現(xiàn)流動布局
- android手機(jī)端與PC端使用adb forword通信
- Android 中SwipeRefreshLayout與ViewPager滑動事件沖突解決方法
- Android 7.0行為變更 FileUriExposedException解決方法
相關(guān)文章
android sdk安裝及開發(fā)環(huán)境部署
本文給大家詳細(xì)講解了android sdk安裝方法以及android開發(fā)環(huán)境部署方法,非常的細(xì)致全面,有需要的小伙伴務(wù)必詳細(xì)研究下。2015-11-11
Android中SurfaceView用法簡單實(shí)例
這篇文章主要介紹了Android中SurfaceView用法,以一個簡單的圖形繪制及改變位置實(shí)現(xiàn)方法分析了SurfaceView的使用技巧,需要的朋友可以參考下2015-10-10
Android自定義View實(shí)現(xiàn)數(shù)字密碼鎖
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)數(shù)字密碼鎖,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-06-06
Flutter實(shí)現(xiàn)資源下載斷點(diǎn)續(xù)傳的示例代碼
在項(xiàng)目開發(fā)中,特別是C端的產(chǎn)品,資源下載實(shí)現(xiàn)斷點(diǎn)續(xù)傳是非常有必要的。今天我們不講過多原理的知識,分享下簡單實(shí)用的資源斷點(diǎn)續(xù)傳2022-07-07
Android編程實(shí)現(xiàn)應(yīng)用強(qiáng)制安裝到手機(jī)內(nèi)存的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)應(yīng)用強(qiáng)制安裝到手機(jī)內(nèi)存的方法,涉及Android中屬性設(shè)置的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11
Android Adapter里面嵌套ListView實(shí)例詳解
這篇文章主要介紹了Android Adapter里面嵌套ListView實(shí)例詳解的相關(guān)資料,這里提供實(shí)例代碼并說明如何實(shí)現(xiàn)該功能,需要的朋友可以參考下2017-07-07
Android開發(fā)實(shí)現(xiàn)ListView和adapter配合顯示圖片和文字列表功能示例
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)ListView和adapter配合顯示圖片和文字列表功能,涉及Android使用ListView結(jié)合adapter適配器實(shí)現(xiàn)圖文顯示功能相關(guān)的布局、解析、權(quán)限控制等操作技巧,需要的朋友可以參考下2019-04-04
Android Studio gradle配置packagingOptions打包so庫重復(fù)
這篇文章主要為大家介紹了Android Studio gradle配置packagingOptions打包so庫重復(fù)問題的解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

