文件存储

    xiaoxiao2021-03-25  208

    在Layout下建立xml文件

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="cn.edu.bzu.filedemo.MainActivity"> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPersonName" android:drawableLeft="@mipmap/ic_launcher" android:hint="input infos" android:ems="10" android:layout_centerHorizontal="true" android:layout_marginTop="122dp" android:id="@+id/etInfo" /> <Button android:text="Ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/etInfo" android:onClick="saveData" android:layout_centerHorizontal="true" android:layout_marginTop="40dp" android:id="@+id/btnOk" /> </RelativeLayout>

    建立相应的Activity

    package cn.edu.bzu.filedemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import cn.edu.bzu.filedemo.model.FileService; public class MainActivity extends AppCompatActivity { private EditText etInfo; FileService fileService; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fileService=new FileService(this); etInfo=(EditText) findViewById(R.id.etInfo); restoreData(); } public void saveData(View view){ fileService.save(etInfo.getText().toString()); } private void restoreData() { String content=fileService.read(); if(content!=null) etInfo.setText(content); } }

    建立一个名为model的包,在包中建立名为FileService的Java class

    package cn.edu.bzu.filedemo.model; import android.content.Context; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; /** * Created by 25835 on 2017/4/4. */ public class FileService { private Context context; public FileService(Context context){ this.context=context; } public boolean save(String content){ FileOutputStream fos=null; OutputStreamWriter osw=null; BufferedWriter bw=null; try { fos=context.openFileOutput("data",Context.MODE_PRIVATE); osw=new OutputStreamWriter(fos); bw=new BufferedWriter(osw); bw.write(content); return true; } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); }finally { try { if (bw!=null) bw.close(); if (osw!=null) osw.close(); if (fos!=null) fos.close(); } catch (IOException e) { e.printStackTrace(); } } return false; } public String read() { FileInputStream fis = null; BufferedReader br = null; String content = null; try { fis = context.openFileInput("data.txt"); br = new BufferedReader(new InputStreamReader(fis)); content = br.readLine(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (br != null) br.close(); if (fis != null) fis.close(); } catch (IOException e) { e.printStackTrace(); } } return content; } }

    ExampleinstrumentedTest文件

    package cn.edu.bzu.filedemo; import android.app.Instrumentation; import android.content.Context; import android.support.test.InstrumentationRegistry; import android.support.test.runner.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; import cn.edu.bzu.filedemo.model.FileService; import static org.junit.Assert.*; /** * Instrumentation test, which will execute on an Android device. * * @see <a href="http://d.android.com/tools/testing">Testing documentation</a> */ @RunWith(AndroidJUnit4.class) public class ExampleInstrumentedTest { @Test public void useAppContext() throws Exception { // Context of the app under test. Context appContext = InstrumentationRegistry.getTargetContext(); assertEquals("cn.edu.bzu.filedemo", appContext.getPackageName()); } @Test public void save(){ Context appContext = InstrumentationRegistry.getTargetContext(); FileService fileService=new FileService(appContext); assertEquals(true,fileService.save("hello test")); } @Test public void read(){ Context appContext = InstrumentationRegistry.getTargetContext(); FileService fileService=new FileService(appContext); assertEquals("hello test",fileService.read()); } }

    存储结果,当打上hello testdemo后,点击返回,再次进去已将hello testdemo存储

    转载请注明原文地址: https://ju.6miu.com/read-13626.html

    最新回复(0)