zoukankan      html  css  js  c++  java
  • Android 文件操作之openFileOutput

      openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/” ,如果文件不存在,Android 会自动创建它。创建的文件保存在/data/data/<package name>/files目录。

      openFileOutput()方法的第二参数用于指定操作模式,有四种模式,分别为:

        Context.MODE_PRIVATE    = 0
        Context.MODE_APPEND    =  32768
        Context.MODE_WORLD_READABLE =  1
        Context.MODE_WORLD_WRITEABLE =  2


      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);

    (1):判读文件是否存在

    public boolean existsFile(String fileName){
         String path = this.getFilesDir().getPath()+"//"; File file
    = new File(path+fileName); if(file.exists()){ return true; } return false; }

    (2):读取文件

    public String readFile(String fileName) throws IOException{
            FileInputStream fis = context.openFileInput(fileName);
            int len = fis.available();
            byte []buffer = new byte[len];
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            while((fis.read(buffer))!=-1){
                baos.write(buffer);
            }
            byte []data = baos.toByteArray();
            baos.close();
            fis.close();
            return new String(data);
        }

    (3):保存文件

    public void saveFile(String fileName, String str) throws IOException{
            FileOutputStream fos = context.openFileOutput(fileName, Activity.MODE_APPEND);
            byte[]bytes=str.getBytes();
            fos.write(bytes);
            fos.flush();
            fos.close();
        }
  • 相关阅读:
    hdu 5269 ZYB loves Xor I &amp;&amp; BestCoder Round #44
    Hibernate之关于多对多单向关联映射
    測试CPU支持指令集AVX,AVX2,SSE情况的代码【VS2010调试通过】
    联想教育应用使用说明(7.6版本号)——第5章 常见的问题与解答
    java.lang.ClassNotFoundException: org.springframework.web.content.ContextLoaderListener
    IETF和W3C的区别
    [ppurl]从”皮皮书屋”下载电子书的姿势
    javaEE面试重点
    HDU-1095-A+B for Input-Output Practice (VII)(多一个空格?)
    WinCC7.3 Win764位系统安装教程
  • 原文地址:https://www.cnblogs.com/yshyee/p/3474033.html
Copyright © 2011-2022 走看看