zoukankan      html  css  js  c++  java
  • 文件读取Android02文件的保存与读取文件读取

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正

        很多时候我们开辟的软件需要对理处后的据数行进存储,以供再次拜访,Android为据数存储供提了如下几种方法:

        ·文件

        ·SharedPreferences(数参)

        ·SQLite据数库

        ·容内供提者(Content provider)

        ·网络

        上面演示文件的存储与读取:

        

        activity_main.xml

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/text1" /> <EditText android:id="@+id/filename" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="abc.txt" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="文件容内" /> <EditText android:id="@+id/filecontent" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="3" /> <Button android:id="@+id/myButtonSave" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="保存" /> <Button android:id="@+id/myButtonRead" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="读取" /> </LinearLayout>

        FileServise.java

        package com.example.service; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; import android.content.Context; public class FileServise { /** * 保存文件 * * @param filename * 文件名称 * @param filecontent * 文件容内 * @return */ private Context context; public FileServise(Context context) { super(); this.context = context; } public void savefile(String filename, String filecontent) throws IOException { /* * IO 术技 看过我的JAVASE IO流的 写起来很省力,不过这里应用安卓的Context 象对可以速快到得输出流 第二个数参是 * 私有操纵模式,建创出来的文件只能被本应用拜访。 同时,用采私有模式建创的文件, 会覆盖源文件的容内。 */ FileOutputStream fos = context.openFileOutput(filename, Context.MODE_PRIVATE); fos.write(filecontent.getBytes()); fos.close(); } /** * 文件读取 * * @param filename * @return * @throws IOException */ public String readfile(String filename) throws IOException { FileInputStream fis = context.openFileInput(filename); // 入写内存中的方法 ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = fis.read(buffer)) != -1) { baos.write(buffer, 0, len); } // 获得 byte[] data = baos.toByteArray(); return new String(data); } }

        


    MainActivity.java

        package com.example.androidfile; import java.io.IOException; 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; import android.widget.Toast; import com.example.service.FileServise; public class MainActivity extends Activity { private Button btns = null; private Button btnr = null; private EditText name = null; private EditText content = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btns = (Button) findViewById(R.id.myButtonSave); btnr = (Button) findViewById(R.id.myButtonRead); name = (EditText) findViewById(R.id.filename); content = (EditText) findViewById(R.id.filecontent); btns.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String filename = name.getText().toString(); String filecontent = content.getText().toString(); FileServise fs = new FileServise(MainActivity.this); try { fs.savefile(filename, filecontent); Toast.makeText(MainActivity.this, "保存实现", Toast.LENGTH_SHORT).show(); } catch (IOException e) { Toast.makeText(MainActivity.this, "保存失败", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } } }); btnr.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { FileServise fs = new FileServise(MainActivity.this); try { Toast.makeText(MainActivity.this, fs.readfile("abc.txt"), Toast.LENGTH_SHORT).show(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } }

    文章结束给大家分享下程序员的一些笑话语录: 很多所谓的牛人也不过如此,离开了你,微软还是微软,Google还是Google,苹果还是苹果,暴雪还是暴雪,而这些牛人离开了公司,自己什么都不是。

  • 相关阅读:
    js小程序
    事务的概念
    为期一个月培训的总结
    软件测试培训总结篇2
    软件测试培训总结篇1
    软件测试培训第30天
    软件测试培训第29天
    软件测试培训第28天
    软件测试培训第26天
    软件测试培训第27天
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3031580.html
Copyright © 2011-2022 走看看