布局界面為兩個【輸入框】和兩個【按鈕】
程序代碼如下:
package com.twac.filetest;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.PRintStream;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity { private Button btn_write; private Button btn_read; private EditText edt_write; private EditText edt_read; private final String FILE_NAME = "crazyit.bin"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_write = (Button) findViewById(R.id.btn_write); btn_read = (Button) findViewById(R.id.btn_read); edt_write = (EditText) findViewById(R.id.edt_write); edt_read = (EditText) findViewById(R.id.edt_read); btn_write.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // 將edt_write的內容寫入文件中 write(edt_write.getText().toString()); edt_write.setText(""); } }); btn_read.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { edt_read.setText(read()); } }); } private void write(String content) { try { // 以追加模式打開文件輸出流 FileOutputStream fos = openFileOutput(FILE_NAME, MODE_APPEND); // 將FileOutputStream包裝成PrintStream PrintStream ps = new PrintStream(fos); // 輸出文件內容 ps.println(content); // 關閉文件輸出流 ps.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } private String read() { try { // 打開文件輸入流 FileInputStream fis = openFileInput(FILE_NAME); byte[] buff = new byte[1024]; int hasRead = 0; StringBuffer sb = new StringBuffer(""); // 讀取文件內容 while ((hasRead = fis.read(buff)) > 0) { sb.append(new String(buff, 0, hasRead)); } // 關閉文件輸入流 fis.close(); return sb.toString(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }}
新聞熱點
疑難解答