栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android 文件存储

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 文件存储

示例代码
public class MainActivity extends AppCompatActivity {
  EditText info_edt;
  Button save_btn, read_btn;
  TextView textView;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    this.initView();
  }

  // 初始化 view组件
  public void initView() {
    // 输入容器
    this.info_edt = findViewById(R.id.info_edt);
    // 保存按钮
    this.save_btn = findViewById(R.id.save_btn);
    // 读取按钮
    this.read_btn = findViewById(R.id.read_btn);
    // 显示读取内容
    this.textView = findViewById(R.id.textView);
  }

  // 执行操作
  @SuppressLint("NonConstantResourceId")
  public void operate(View view) throws IOException {
    // 判断初始化view是否完成
    boolean pass = (info_edt != null) && (save_btn != null) && (read_btn != null) && (textView != null);

    if (!pass) {
      Toast.makeText(this, "初始化为完成", Toast.LENGTH_SHORT).show();
      return;
    }
    // 外部存储 一般指app外部、手机内存的存储空间
    // 外部存储可以避免删除应用时被删去
    String path1 = getExternalFilesDir(null).getAbsolutePath() + "/myFile.txt";
    // 内部存储 一般指app内存的存储空间
    // 删除app之后 存储内容将会消失
    String path2 = getFilesDir().getAbsolutePath() + "/file.txt";

    Log.i("*******外部存储路径: *******", path1);
    Log.i("*******内部存储路径: *******", path2);

    int id = view.getId();
    switch (id) {
      case R.id.save_btn:
        File file = new File(path1);
        if (!file.exists()) {
          file.createNewFile();
        }

        FileOutputStream fileOutputStream = new FileOutputStream(path1, true);
        String str = info_edt.getText().toString().trim();

        if (str.equals("")) {
          Toast.makeText(this, "请输入文本", Toast.LENGTH_SHORT).show();
          return;
        }

        fileOutputStream.write(str.getBytes());
        Toast.makeText(this, "数据写入成功", Toast.LENGTH_SHORT).show();
        break;
      case R.id.read_btn:
        FileInputStream fileInputStream = new FileInputStream(path1);
        byte[] buff = new byte[1024];
        int length = 0;
        StringBuilder result = new StringBuilder();
        while ((length = fileInputStream.read(buff)) != -1) {
          result.append(new String(buff, 0, length));
        }
        textView.setText(result.toString());
        Toast.makeText(this, "数据读取成功", Toast.LENGTH_SHORT).show();
        break;
      default:
        Toast.makeText(this, "未知操作,请联系管理员", Toast.LENGTH_SHORT).show();
    }
  }
}
示例效果

读写权限



    
    
    

    
        
            
                

                
            
        
    


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708782.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号