android_internal_storage
来源:互联网 发布:java replace多个字符 编辑:程序博客网 时间:2024/06/03 20:32
MainActivity.java
package com.example.hd.save_internal_storage;import java.io.FileNotFoundException;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity { private Button mButton; private EditText mEditText; private Button mButton2;// 查看数据 private Button mButton3;//保存cache数据 private Button mButton4;//查看文件列表 private TextView mTextView; private static final String TAG = "MainActivity"; SaveFile_internal_storage saveStorage = new SaveFile_internal_storage( MainActivity.this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mButton = (Button) findViewById(R.id.button1); mEditText = (EditText) findViewById(R.id.editText1); mButton2 = (Button) findViewById(R.id.button2); mButton3 = (Button) findViewById(R.id.button3); mButton4 = (Button) findViewById(R.id.button4); mTextView = (TextView) findViewById(R.id.textView1); mButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String temp = null; boolean flag = false; temp = mEditText.getText().toString().trim(); flag = saveStorage.saveToFile("login.txt", Context.MODE_PRIVATE, temp); Log.i(TAG, flag + ""); } }); mButton2.setOnClickListener(new OnClickListener() { String readStr = null; @Override public void onClick(View v) { // TODO Auto-generated method stub try { readStr = saveStorage.readToFile("login.txt"); mTextView.setText(readStr); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); mButton3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub saveStorage.savaCacheFile("sksajkljkl","hell_word", "hello".getBytes()); } }); mButton4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub boolean flag =saveStorage.fileList("txt");// 得到--------->>/data/data/com.example.hd.save_internal_storage/files/txt/hell_word Log.i(TAG, flag+""); } }); }}
layout_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 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="com.example.hd.save_internal_storage.MainActivity" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="保存数据" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button1" android:layout_centerHorizontal="true" android:layout_marginBottom="74dp" android:ems="10" > <requestFocus /> </EditText> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/button1" android:layout_centerHorizontal="true" android:layout_marginTop="57dp" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignRight="@+id/button1" android:layout_marginBottom="30dp" android:text="查看数据" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView1" android:layout_alignRight="@+id/button2" android:layout_marginBottom="16dp" android:text="保存cache数据" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="查看目录下文件列表" /></RelativeLayout>
SaveFile_internal_storage.java
package com.example.hd.save_internal_storage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import android.content.Context;import android.graphics.Path;import android.util.Log;public class SaveFile_internal_storage { private Context context; private static final String TAG = "SaveFile_internal_storage"; public SaveFile_internal_storage(Context context) { // TODO Auto-generated constructor stub this.context = context; } public boolean saveToFile(String fileName,int mode,String content){ boolean flag = true; try { FileOutputStream fos = context.openFileOutput(fileName, mode); fos.write(content.getBytes()); fos.close(); return flag; } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } public String readToFile(String fileName) throws FileNotFoundException{ byte[] data = new byte[1024]; int len = 0; FileInputStream fileInputStream = context.openFileInput(fileName); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); try { while ((len = fileInputStream.read(data)) != -1) { outputStream.write(data, 0, len); } fileInputStream.close(); return new String(outputStream.toByteArray()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return ""; } public boolean savaCacheFile(String fileName_dir,String fileName,byte[] data){ File file = context.getFilesDir(); FileOutputStream fileOutputStream; File file_dir = new File(file.getAbsolutePath()+"/"+fileName_dir); if(!(file_dir.exists())){ file_dir.mkdir(); } try { fileOutputStream = new FileOutputStream(file_dir+"/"+fileName); try { fileOutputStream.write(data,0,data.length); fileOutputStream.close(); return true; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } public boolean fileList(String fileDirName){ String flag = "";// 得到的是 /data/data/com.example.hd.save_internal_storage/files File contextFile = context.getFilesDir(); Log.i(TAG, contextFile.getAbsolutePath()); File file = new File(contextFile.getAbsoluteFile()+"/"+fileDirName); File[] file_list = file.listFiles(); if(file_list != null){ for(File file2:file_list){ Log.i(TAG, "--------->>"+file2.getAbsolutePath()); return true; } } return false; } }
0 0
- android_internal_storage
- SQL Server 损坏修复 之三 不同部位损坏的应对
- SOJ 2505 The Country Fair
- java自定义注解及注解使用
- iOS 应用内跳转到系统设置
- 模板方法模式深度解析(二)
- android_internal_storage
- MySql优化配置
- ngularJs项目实战05: 不同controller作用域之间通信的方式
- 美团Android DEX自动拆包及动态加载简介
- protected void onWindowVisibilityChanged(int visibility) public void onWindowFocusChanged(boolea
- 黑马程序员——iOS主要框架
- c++ _waccess 和_access
- KindEditor 4.1.10 ,实用的一些要点,
- 分布式平台微服务架构演化实践