首页 >> 大全

数据存储——手机内部文件存储

2023-07-23 大全 30 作者:考证青年

一.特点

1.存储的是任意类型的文件

2.使用IO输入输出流操作文件

3.存放的目录:/data/data/包名/files/

4.可以设置不被其他应用操作

5.应用卸载之后,数据同时被删除

二.API

1. 文件输出流

1-(文件名,操作模式)

mode 操作模式

1>,不能被别的应用访问,覆盖模式

2>,不能被别的应用访问,追加模式

2-close( )关闭输出流

_存储内部文件数据手机怎么打开_存储内部文件数据手机怎么设置

2. 打印

1-new (输出流)

2-print() 打印字符

3-() 打印字符串并自动换行

4-close( ) 关闭打印流

3. 文件输入流

1-(文件名)

2-close( )关闭输入流

3-read(byte[ ]),把读到的字节保存到byte[ ]里,并返回读到的数据长度。

4.File 文件或目录

1-( ) 返回代表内部存储目录的File实例

2-( ) 返回绝对路径

_存储内部文件数据手机怎么打开_存储内部文件数据手机怎么设置

代码展示:

 1 xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.hanqi.testapp3.MainActivity"
11     android:orientation="vertical">
12 
13     <TextView
14         android:layout_width="wrap_content"
15         android:layout_height="wrap_content"
16         android:text="Hello World!"
17         android:id="@+id/tv_1"/>
18 
19 
20     <EditText
21         android:layout_width="match_parent"
22         android:layout_height="wrap_content"
23         android:hint="输入..."
24         android:id="@+id/et_1"/>
25 
26     <Button
27         android:layout_width="match_parent"
28         android:layout_height="wrap_content"
29         android:text="写内容文件"
30         android:onClick="bt2_OnClick"/>
31 
32     <Button
33         android:layout_width="match_parent"
34         android:layout_height="wrap_content"
35         android:text="读内容文件"
36         android:onClick="bt3_OnClick"/>
37 LinearLayout>

.xml

  1 package com.hanqi.testapp3;
  2 
  3 import android.content.SharedPreferences;
  4 import android.support.v7.app.AppCompatActivity;
  5 import android.os.Bundle;
  6 import android.view.View;
  7 import android.widget.EditText;
  8 import android.widget.TextView;
  9 import android.widget.Toast;
 10 
 11 import java.io.File;
 12 import java.io.FileInputStream;
 13 import java.io.FileOutputStream;
 14 import java.io.PrintStream;
 15 
 16 
 17 public class MainActivity extends AppCompatActivity {
 18 
 19     TextView tv_1;
 20     EditText et_1;
 21 
 22     @Override
 23     protected void onCreate(Bundle savedInstanceState) {
 24         super.onCreate(savedInstanceState);
 25         setContentView(R.layout.activity_main);
 26 
 27         et_1=(EditText)findViewById(R.id.et_1);
 28         tv_1=(TextView)findViewById(R.id.tv_1);
 29 
 30     }
 31 
 32 
 33     //写内容文件
 34     public void bt2_OnClick(View v)
 35     {
 36         //从内存里写入文件
 37 
 38         //1.得到内部的存储目录
 39         try {
 40 
 41             File file =getFilesDir();
 42 
 43             String path=file.getAbsolutePath();
 44 
 45             Toast.makeText(MainActivity.this, "path"+path, Toast.LENGTH_SHORT).show();
 46 
 47             //2.用输出流写入文件
 48             FileOutputStream fos=openFileOutput("test.txt",MODE_APPEND);
 49 
 50             //写入文件内容
 51             PrintStream ps=new PrintStream(fos);
 52 
 53             String str=et_1.getText().toString();
 54 
 55             ps.println(str);
 56             //ps.println("自动换行");
 57 
 58             ps.close();
 59 
 60             fos.close();
 61             Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();
 62 
 63         }
 64         catch (Exception e)
 65         {
 66 
 67             Toast.makeText(MainActivity.this, "保存失败", Toast.LENGTH_SHORT).show();
 68         }
 69 
 70     }
 71 
 72     //
 73     public void bt3_OnClick(View v)
 74     {
 75         //输入流
 76         try {
 77 
 78             FileInputStream fis=openFileInput("test.txt");
 79 
 80             //1 定义byte[]
 81             byte [] b=new byte[1024];
 82             int i=0;//读到的数据长度
 83 
 84             String str1="";
 85 
 86             //2循环读
 87             while ((i=fis.read(b))>0)
 88             {
 89                 String str=new String(b,0,i);
 90 
 91                 str1+=str;
 92             }
 93 
 94             fis.close();
 95 
 96             tv_1.setText(str1);
 97         }
 98         catch (Exception e)
 99         {
100 
101         }
102 
103 
104     }
105 }

.java

存储内部文件数据手机怎么设置__存储内部文件数据手机怎么打开

_存储内部文件数据手机怎么打开_存储内部文件数据手机怎么设置

_存储内部文件数据手机怎么设置_存储内部文件数据手机怎么打开

_存储内部文件数据手机怎么设置_存储内部文件数据手机怎么打开

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了