File存储

Android——File数据存储 文章所有资料全部已经打包整理好,另外小编手头上整理了大量Android架构师全套学习资料,Android核心高级技术PDF文档+全套高级学习资料+视频+2021 BAT 大厂面试真题解析资料展示:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!厂面试真题解析**[外链图片转存中…(img-KbRi1eaB-1711777212132)][外链图片转存中…(img-ckLAAb9o-1711777212132)] 阅读详情

    Android系统中主要提供了3种方式用于简单地实现数据持久化功能,即文件存储、SharedPreference存储以及数据库存储。今天我们先来学习一下文件存储。

    文件存储是Android中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文档当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。如果你想要使用文件存储的方式保存一些较为复杂的文本数据,就需要定义一套自己的格式规范,这样可以方便之后将数据从文件中重新解析出来。

将数据存储到文件中

   Context类中提供了一个openFileOutput()方法,可以用于将数据存储到指定的文件中,这个方法有两个参数,第一个参数即文件名,在文件创建的时候使用的就是这个名称,注意这里指定的文件名不可以包含路径,因为所有的文件都是默认存储到/data/data/<package name>/files/目录下的。第二个参数是文件的操作模式,主要有两种模式可选,MODE_PRIVATE和MODE_APPEND.其中MODE_PRIVATE是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容,而MODE_APPEND则表示如果该文件已存在,就往文件里面追加内容,不存在就创建新文件。

步骤:

1.获得FileOutputStream对象
2.通过FileOutputStream对象的write方法写入
3.通过FileOutputStream对象的close方法关闭流
private void save(String inputText) {
        FileOutputStream out = null;
        BufferedWriter writer = null;
        try {
            out = openFileOutput("data", Context.MODE_PRIVATE);
            writer = new BufferedWriter(new OutputStreamWriter(out));
            writer.write(inputText);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (writer != null) {
                    writer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

从文件中读取数据

类似于将数据存储到文件中,Context类中还提供了一个openFileInput()方法,用于从文件中读取数据,它只接受一个参数,即要读取的文件名,然后系统会自动到/data/data/<package name>/files/目录下去加载这个文件,并返回一个FileInputStream对象,得到了这个对象之后再通过Java流的方式就可以将数据读取出来了。

private String load() {
        FileInputStream in = null;
        BufferedReader reader = null;
        StringBuilder content = new StringBuilder();

        try {
            in = openFileInput("data");
            reader = new BufferedReader(new InputStreamReader(in));
            String line = "";
            while ((line = reader.readLine()) != null) {
                content.append(line);

            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return content.toString();
    }



Grok Linux版Bot回归:终端AI助手部署与实战指南 在Linux服务器、脚本和命令行工作流中,开发者常因频繁切换上下文而中断思路。AI助手作为一种将大模型能力嵌入终端场景的解决方案,通过对话式交互、代码生成和批量文本处理,显著提升运维与开发效率。其核心原理基于API接口封装模型能力,让终端工具链能够直接调用自然语言理解与生成能力。技术价值体现在降低调试成本、自动化重复任务、快速生成脚本和日志分析等方面。适用于开发者编写代码、运维排查日志、算法工程师处理数据等典型场景,也可通过systemd或HTTP服务集成到CI/CD和监控告警流程。Grok Linux版B 阅读详情

相关推荐

Visual Studio 2013 + Intel(R) Visual Fortran 安装教程

安装了好几遍,ivf都不能加载到vs中,中途放弃了vs,又改用codeblocks编译器,依然在写fortran的时候出现了各种问题,于是又放弃了codeblocks改回vs,总之是折腾了好久,终于装明白了ivf并且将fortran模板成功加载到vs中。 PS:一定要安装Intel Visual Fortran.Composer XE.2013-SP1,不要用Intel Visual Fortr...

Coco_wjy的博客 12万+

8、file文件的读取与保存

一、file的读取与保存 二、对象的保存与读取 作者:沧水巫云 博客:http://blog.youkuaiyun.com/amir_zt/ 以上原创,转载请注明出处,谢谢。 https://blog.youkuaiyun.com/amir_zt/article/details/113857394

艾觅的博客 1134

【物联网原理与应用】实验三:RFID低频卡实验——门禁系统

【物联网原理与应用】实验三:RFID低频卡实验——门禁系统

m0_74164458的博客 4000

保存File文件到本地

保存MultipartFile文件到本地,如果文件已经存在则覆盖

qq_43205267的博客 6978

OpenWRT软件源更换保姆级教程:从国内镜像到官方源一键切换(含常见报错解决)

本文提供OpenWRT软件源更换的详细教程,涵盖从国内镜像源到官方源的切换方法,并深度解析常见报错解决方案。针对国内网络环境,指导用户如何精准定位系统信息、备份配置、选择并配置清华等国内镜像源,以及处理签名验证失败、依赖缺失、404错误等典型问题,旨在提升软件包管理效率与稳定性。

weixin_29229261的博客 1939

STM8开发环境搭建(STVD + COSMIC)

一、STM8开发IDE 1. STVD + COSMIC ST Visual Develop (STVD)只支持汇编开发,C语言开发需要再安装COSMIC,配套起来使用。 2. IAR IAR也可以用来开发STM8 下面介绍STVD + COSMIC的搭建方式 二、环境搭建 1. STVD下载、安装 直接从官网下载:https://www.st.com/en/development-tools/stvd-stm8.html 安装很简单,基本下一步往下点。 2. COSMIC下载、安装 对于stm8可以使用3

a183635870的博客 1万+

Python--file 的读写以及常用方法

今天开始学习file  的基本操作。 在Python中,不可避免的需要对实际数据文件进行读写等各种操作。 Python 提供了函数和方法对文件基本的操作。可以使用file对象做大部分的文件操作。 对文件进行操作需要按照如下步骤: 1. open 文件,2. 文件操作(读或写) 3. 关闭文件 这是基本要求。 1、file 打开文件 open()函数 作用:打开文件,创建一个f

yanyangjie的专栏 1113

我爬取了某非法网贷后台系统数据,终于知道什么叫做利滚利滚利滚利了

我爬取了非法贷款的后台网站!

weixin_44042821的博客 2880

【JAVA】文件储存——File

【File类】 【概述】:是文件和目录路径名的抽象表示 【特点】: 文件和目录可以通过File封装成对象 File封装的对象仅仅是一个路径名。它可以是存在的,也可以是不存在的。 【构造方法】: File​(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的File实例 File​(String parent, String child):从父路径名字符串和子路径名字符串创建新的File实例 File​(File parent, String child):从父

haoyu__的博客 5159

VS2019+EasyX图形库实战:手把手教你用C语言打造消消乐小游戏(附完整源码)

本文详细介绍了如何使用VS2019和EasyX图形库从零开始构建一个C语言消消乐小游戏。通过环境配置、数据结构设计、界面绘制、交互实现到游戏逻辑完善的完整流程,帮助开发者掌握图形编程和游戏开发的核心技巧,并附有完整源码供参考。

bush的博客 186

从ARM转战TI DSP:手把手教你用CCS 10.1.1搭建F280049C的第一个工程(含CMD文件避坑指南)

本文详细介绍了从ARM开发转向TI DSP(TMS320F280049C)的完整流程,包括CCS 10.1.1开发环境配置、工程搭建、CMD文件避坑指南以及外设开发实战。特别针对ARM开发者常见的DSP特性差异问题提供了解决方案,帮助初学者快速入门DSP开发。

weixin_42536058的博客 372

Java数据的保存——File

File对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径其中在Java中路径分为两种相对路径:不带盘符,相对于当前项目而言绝对路径:带盘符。

m0_74808313的博客 1419

保姆级教程:用Python+MM-Agent搭建自己的数学建模AI助手(支持GPT-4o/DeepSeek)

本文提供了一份详细的教程,教你如何使用Python和MM-Agent框架搭建数学建模AI助手,支持GPT-4o和DeepSeek-R1等LLM后端。从环境配置、HMML知识库集成到多LLM适配和建模流程实现,手把手教你构建智能建模系统,提升数学建模效率。

k6l7m8n9的博客 452

SDCard存储和File存储 的总结

两者存储基本相同,因为SD存储是在SD卡上而File存储是在本程序中,所以SD存储能读写大文件数据,毕竟手机的内存是有限的 所以两者的区别在路径的获取上 两个程序前面都相同,不同的是两个LIstener处理上,相同的代码如下:仅获取布局组件: public class SDCardTestActivity extends Activity { /** Called when the acti

beyond667的专栏 2858

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Android基础】数据存储之File存储

一、I/O流 1、分类 1)按流向分: 输入流:从数据源到程序中的流 输出流:从程序到数据源的流 2)按数据传输单位分: 字节流:以字节为单位传输数据的流 字符流:以字符为单位传输数据的流 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer 3)按功能分: 节点流:直接与数据源打交道的流 处理流:不直接与数据源打交道,与其他的"流"打交道 常用节点流: InputStream OutputStream Reade

m0_46211029的博客 420

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android之File内部存储和File外部存储

File内部存储 FileOutPutStream FileInputStream FileActivity 以及对应的xml文件 package com.example.test0508; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Edi

question_mark的博客 624

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android数据存储:File存储

Android中File存储数据   1、File存储   1.1、openFileOutput与openFileInput   1.2、SDCard中的数据读写 1)、声明一个布局文件sdcard_layout.xml,文件中有两个按钮,一个用于保存数据,一个用于读取数据。一个EditText用于接收用户输入数据,一个TextView用于显示读取出来的数据。 <Line

zhengweicong2011的专栏 893

Android中的File存储

Android中的File存储        关于Android的File存储,这里先说下Java中的File类,根据面向对象的思想,Java中对文件的操作也进行了对象的封装,这个操作文件的类就是File类,File提供了丰富的api来进行文件的操作,比如常见的createNewFile(),mkdir(),mkdirs(),exists(),isFile(),isDictory

Jaavaaa的博客 836

Android数据存储----File 存储

内部存储  Internal Storage 1, 特点 文件只能被当前应用程序访问, 其他应用程序不能访问 当应用程序卸载后, 程序在内部存储中的文件也会被删除 2, 路径      data/data/应用程序包名/files/***.*** 3, 核心代码   FileOutputStream  FileInputStream  

nkdwslsd的专栏 505

js File类型本地存储与读取

首先将File文件转为base64 利用FileReader的读取功能,完成后会触发onload事件,result属性即为base64编码 由于得到的base64编码基本会超过5M,所以需要对localStorage进行额外操作, 可以用localforage:优先使用IndexedDB存储,如果不支持,使用WebSQL,浏览器还不支持,使用localStorage 下载:https://github.com/localForage/localForage/releases // file为Fi

ttn456456的博客 5714

Android 中File数据存储

首先说下 File存储在Android 中有什么用途呢?         File存储:可以让我们轻松访问手机存储器上的文件(手机内存卡或者用户的SD卡)       android中我们可以在我们的手机自带的内存卡中或者用户插入的SD卡中进行文件的写入和读出,总之就是要建立一条输入输出通道。      将数据保存到我们手机的存储空间 /** * 该方法是将数据保存在

大自然的专栏 1223

android之数据存储,Android数据存储之File

Android使用与其他平台类似的基于磁盘文件系统(disk-based file systems),上篇文章通过SharedPerference来进行数据存储,这次可以使用File。File 对象非常适合用来读写那种流式顺序的数据,可以用来读写图片文件或者是网络中交换的数据。存储位置所有的Android设备都有两个文件存储区域:"internal" 与 "external" 存储。 那两个名称来...

weixin_34466671的博客 351
上一篇: android操作系统
下一篇: android学习---SharedPreferences存储
liu_keke
博客等级 码龄11年 3粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值