Android系統(tǒng)在文件IO操作上主要還是采用Java中的iava.io.FileInputStream和java.io.FileOutputStream來對文件進行讀寫操作,創(chuàng)建文件或文件夾使用java.io.File類來完成,同時讀寫文件需要相應(yīng)的權(quán)限,否則將會出現(xiàn)Exception。
站在用戶的角度思考問題,與客戶深入溝通,找到南海網(wǎng)站設(shè)計與南海網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋南海地區(qū)。Android系統(tǒng)本身提供了2個方法用于文件的讀寫操作:
openFileInput(String name)方法返回FileIputStream上輸入流和openFileOutput(String name,int mode)方法返回FileOutputStream輸出流。
這兩個方法只支持操作當前應(yīng)用的私有目錄下的文件,傳入文件時只需傳入文件名即可。對于存在的文件,默認使用覆蓋私有模式(Context.MODE_PRIVATE)對文件進行寫操作,如果想以增量方式寫入一寸文件,需要指定輸出模式為Context.MODE_APPEND.
下面為文件操作簡單小例子:
FileActivity.java代碼:
public class FileActivity extends Activity {
private static final String FILE_NAME="test.txt";
private EditText edittext;
private Button button1,button2;
private TextView text;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_file);
edittext=(EditText)findViewById(R.id.edittext);
button1=(Button)findViewById(R.id.button1);
button2=(Button)findViewById(R.id.button2);
text=(TextView)findViewById(R.id.text);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
saveDateToFile();
}
});
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
readDateFile();
}
});
}
private void saveDateToFile(){
try {
//FileOutputStream fos=openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
//構(gòu)造輸出流對象,使用覆蓋私有模式
FileOutputStream fos=openFileOutput(FILE_NAME, Context.MODE_APPEND);
//構(gòu)造輸出流對象,使用增量模式
String textfile=edittext.getText().toString();
//獲取輸入內(nèi)容
fos.write(textfile.getBytes());
//將字符串轉(zhuǎn)換為byte數(shù)組寫入文件
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void readDateFile(){
try {
FileInputStream fis=openFileInput(FILE_NAME);
byte[] buffer=new byte[1024];
//構(gòu)建byte數(shù)組用于保存讀入的數(shù)據(jù)
fis.read(buffer);
//讀取數(shù)據(jù)放在buffer中
String textfile=EncodingUtils.getString(buffer,"UTF-8");
text.setText(textfile);
text.setTextColor(Color.RED);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
寫操作就是saveDateToFile()方法,讀操作就是readDateFile()方法。
xml文件很簡單,幾個控件:
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".FileActivity" > android:id="@+id/edittext" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="請輸入..." />
創(chuàng)建的test.txt文件就在SD卡目錄下面。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。