Androlid入门之文件系统操作(三)文件读写

来源:互联网 发布:怎么找回手机淘宝密码 编辑:程序博客网 时间:2024/06/06 00:30

     

import java.io.*;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.*;public class FileIOTest extends Activity {   private LinearLayout mainView=null;private Button writeButton=null;private Button readButton=null;private TextView tv=null;    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        writeButton=new Button(this);        writeButton.setText("文件写入");        writeButton.setOnClickListener(new OnClickListener(){public void onClick(View v) {fileWrite();}        });        readButton=new Button(this);        readButton.setEnabled(false);        readButton.setText("文件读出");        readButton.setOnClickListener(new OnClickListener(){public void onClick(View v) {fileRead();}        });        tv=new TextView(this);        tv.setText("这里显示读出结果");        mainView=new LinearLayout(this);        mainView.setOrientation(LinearLayout.VERTICAL);        mainView.addView(writeButton);        mainView.addView(readButton);        mainView.addView(tv);        setContentView(mainView);    }    /*文件写*/    void fileWrite(){    //File file=this.getFilesDir();//打开私有目录    File file=new File("/sdcard");    String path=file.getAbsolutePath();//获取路径    String name="mydata1.dat";//新建文件名    File filex=new File(path,name);    //如果文件不存在,则创建一个文件    if(!filex.exists()){    try {filex.createNewFile();} catch (IOException e) {e.printStackTrace();}    }    //获取文件输出流    FileOutputStream fos=null;    try {fos=new FileOutputStream(filex);byte buf[]="Hello,这是Android入门之文件操作(三)文件读写!".getBytes();//上面涉及到字符串转字符,为了保证编码正常,建议采用下面的方法//ByteArrayOutputStream baos=new ByteArrayOutputStream();//DataOutputStream dos=new DataOutputStream(baos);//try {dos.writeUTF("XXXXXXXXXXXXXXXXX");catch (IOException e1) {e1.printStackTrace();}//byte[] buf=baos.toByteArray();try {fos.write(buf);//全面覆盖式的写,如果要添加或者修改,得把原来的先读出来再做处理fos.close();} catch (IOException e) {e.printStackTrace();}} catch (FileNotFoundException e) {e.printStackTrace();}readButton.setEnabled(true);    }    /*文写读*/    void fileRead(){    //File file=this.getFilesDir();//打开私有目录    File file=new File("/sdcard");    String path=file.getAbsolutePath();//获取路径    String name="mydata1.dat";//新建文件名    File filex=new File(path,name);    //    try {FileInputStream fis=new FileInputStream(filex);byte buf[]=new byte[1024];try {int len=fis.read(buf);fis.close();} catch (IOException e) {e.printStackTrace();}//显示读取结果tv.setText(new String(buf));//上面涉及字符转字符串,为了保证编码正常,建议采用下面的方法//ByteArrayInputStream bais=new ByteArrayInputStream(buf);//DataInputStream dis=new DataInputStream(bais);//try {tv.setText(dis.readUTF());} catch (IOException e) {e.printStackTrace();}} catch (FileNotFoundException e) {e.printStackTrace();}    }}


 

原创粉丝点击