Android编程中File文件常见存储与读取操作demo示例
更新时间:2017年09月25日 11:17:28 作者:ITzhongzi
这篇文章主要介绍了Android编程中File文件常见存储与读取操作,结合实例形式分析了Android针对文件的打开、读写及布局等相关操作技巧,需要的朋友可以参考下
本文实例讲述了Android编程中File文件常见存储与读取操作。分享给大家供大家参考,具体如下:
MainActivity文件代码如下:
package example.com.myapplication; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.PrintStream; public class MainActivity extends Activity { final String FILE_NAME = "test.txt"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); System.out.println(new StringBuilder("a").append("b").append("c") .toString()); // 获取两个按钮 Button read = (Button) findViewById(R.id.read); Button write = (Button) findViewById(R.id.write); // 获取两个文本框 final EditText edit1 = (EditText) findViewById(R.id.edit1); final EditText edit2 = (EditText) findViewById(R.id.edit2); // 为write按钮绑定事件监听器 write.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View source) { // 将edit1中的内容写入文件中 write(edit1.getText().toString()); edit1.setText(""); } }); read.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 读取指定文件中的内容,并显示出来 edit2.setText(read()); } }); } private String read() { try { // 打开文件输入流 FileInputStream fis = openFileInput(FILE_NAME); byte[] buff = new byte[1024]; int hasRead = 0; StringBuilder sb = new StringBuilder(""); while ((hasRead = fis.read(buff)) > 0) { sb.append(new String(buff, 0, hasRead)); } return sb.toString(); } catch (Exception e) { e.printStackTrace(); } return null; } 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 (Exception e) { e.printStackTrace(); } } }
布局文件代码如下:
<!--?xml version="1.0" encoding="utf-8"?--> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:id="@+id/edit1" android:layout_width="match_parent" android:layout_height="wrap_content" android:lines="4"/> <Button android:id="@+id/write" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="write"/> <EditText android:id="@+id/edit2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false" android:lines="4"/> <Button android:id="@+id/read" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="read"/> </LinearLayout>
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android布局layout技巧总结》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
相关文章
详解Android开发中Activity的四种launchMode
这篇文章主要介绍了Android开发中Activity的四种launchMode,launchMode主要用于控制多个Activity间的跳转,需要的朋友可以参考下2016-03-03Android NavigationView头部设置监听事件
这篇文章主要为大家详细介绍了Android NavigationView头部设置监听事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-10-10
最新评论