Android 中的文件读写 *** 作

Android 中的文件读写 *** 作,第1张

IO流( *** 作文件内容): 字节流

参考:

AssetManager

assets 文件夹用于存储应用需要的文件,在安装后可直接从其中读取使用或者写入本地存储中

Android Studio 默认不建立该文件夹,可以手动新建 : app ->src ->main ->assets

或者,右键 main ->New ->Folder ->Assets Folder

AssetManager 对象可以直接访问该文件夹:

获取方法

使用函数 open 可以打开 assets 文件夹中对象,返回一个 InputStream 对象:

open

获取方法:

读文件:

1、通过File获取文件

2、打开输入流,读取文件

写文件:

1、创建文件

2、打开输出流,写入文件内容

示例:

读文件:

String content = "" //文件内容字符串

    //通过路径/sdcard/foo.txt打开文件

    File file = new File("/sdcard/foo.txt")

    try {

       InputStream instream = new FileInputStream(file)//读取输入流

       InputStreamReader inputreader = new InputStreamReader(instream)//设置流读取方式

       BufferedReader buffreader = new BufferedReader(inputreader)

       while (( line = buffreader.readLine()) != null) {

        content += line + "\n"//读取的文件内容

      }

    }catch(Exception ex){

    } 写文件:

        File file = new File("/sdcard/foo.txt")//

         if(!file.exists())

            file.createNewFile()//如果文件不存在,创建foo.txt

        try {

            OutputStream outstream = new FileOutputStream(file)//设置输出流

            OutputStreamWriter out = new OutputStreamWriter(outstream)//设置内容输出方式

            out.write("文字内容")//输出内容到文件中

            out.close()

            } catch (java.io.IOException e) {

            e.printStackTrace()

        }

Activity提供了openFileOutput()方法可以用于把数据输出到文件中 具体的实现过程与在J SE环境中保存数据到文件中是一样的

public class FileActivity extends Activity {

@Override public void onCreate(Bundle savedInstanceState) {

&#

FileOutputStream outStream = this openFileOutput(&# itcast txt&# Context MODE_PRIVATE)

outStream write(&# 传智播客&# getBytes())

outStream close()

}

}

openFileOutput()方法的第一参数用于指定文件名称 不能包含路径分隔符 / 如果文件不存在 Android 会自动创建它 创建的文件保存在/data/data/<package name>/files目录 如 /data/data/cn itcast action/files/itcast txt 通过点击Eclipse菜单 Window Show View Other 在对话窗口中展开android文件夹 选择下面的File Explorer视图 然后在File Explorer视图中展开/data/data/<package name>/files目录就可以看到该文件

openFileOutput()方法的第二参数用于指定 *** 作模式 有四种模式 分别为 Context MODE_PRIVATE ?=?

Context MODE_APPEND ?=?

Context MODE_WORLD_READABLE =?

Context MODE_WORLD_WRITEABLE =?

Context MODE_PRIVATE 为默认 *** 作模式 代表该文件是私有数据 只能被应用本身访问 在该模式下 写入的内容会覆盖原文件的内容 如果想把新写入的内容追加到原文件中 可以使用Context MODE_APPEND

Context MODE_APPEND 模式会检查文件是否存在 存在就往文件追加内容 否则就创建新文件

Context MODE_WORLD_READABLE和Context MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件

MODE_WORLD_READABLE 表示当前文件可以被其他应用读取 MODE_WORLD_WRITEABLE 表示当前文件可以被其他应用写入

如果希望文件被其他应用读和写 可以传入

openFileOutput(&# itcast txt&# Context MODE_WORLD_READABLE + Context MODE_WORLD_WRITEABLE)

lishixinzhi/Article/program/yd/201404/30438


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12059745.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存