File这是文件基类,抽象地代表一个文件实体,它有四个不同的构造方法:

File(File dir, String name) 
 File(String path)  
 File(String dirPath, String name) 
 File(URI uri) 
 这些构造方法的实质都是一样的,就是构造一个File实例,必须提供一个完整的文件路径。
 构造了一个File实例,并不是说就新建了一个文件或文件夹,这个File实例,只是实际系统内文件实体的一个代表。
重要方法:public boolean exists()   判断文件或文件夹是否存在

public boolean isFile()   判断是否为文件

public boolean isDirectory  判断是否为文件夹

public boolean createNewFile()  根据制定的路径和文件名创建一个新的,空的文件

public boolean  mkdir()   根据制定的路径创建文件夹  (一级操作)

public boolean mkdirs()  根据制定的路径创建文件夹  (多级操作)
    public boolean delete() 删除文件或文件夹

public boolean renameTo(File dest)  重命名文件或文件夹

public long length()  获得文件的长度,单位为 byte(文件夹不可用)

public String getName()  获得文件或文件夹的名字

public String getAbsolutePath() 获得文件或文件夹的绝对路径

pubic String getPath()  获得文件或文件夹的路径

public File[]  listFiles()  返回文件夹内所有的File 对象

public String[]  list()  返回文件夹内所有的文件或文件夹的名字

Android 应用内的文件存储机制:

Activity 提供了两个方法,可以分别获得基于字节的输入和输出流:

public FileOutputStream  openFileOutput(String name, int mode) 获得输出流

public FileInputStream  openFileInput(String name) 获得输入流

这两个方法都会在data/data/<applicatin-package>/files/ 来创建或读取文件,也就是说这是类似SharedPreference的,专门为一个应用内提供的文件存储机制。(默认情况下,不能在不同的应用之间共享)

mode有如下四种模式:
    Use 0 or MODE_PRIVATE( the default operation) :用0表示默认值,只能够创建文件的应用程序访问该文件,每次文件写入为覆盖方式。
    MODE_APPEND : 每次文件写入为追加方式,类似于StringBuffer中的append()方法。
    MODE_WORLD_READABLE  :只有读权限。
    MODE_WORLD_WRITEABLE :只有写权限。
    如果想同时得到读与写的权限,则可以在mode处通过如下方式创建:MODE_WORLD_READABLE+ MODE_WORLD_WRITEABLE

文件名过滤器一般用法

1.实现FilenameFilter接口;

2.实现boolean accept(File dir,String name);   //dir表示文件的当前目录,name表示文件名;

class MyFilter implements FilenameFilter{
         private String type;            //type为需要过滤的条件,比如如果type=".jpg",则只能返回后缀为jpg的文件
         public MyFilter(String type){
               this.type = type;
         }

public boolean accept(File dir,String name){           //返回true的文件则合格
       }
}

android的文件操作要有权限:

判断SD卡是否插入

Environment.getExternalStorageState().equals(

android.os.Environment.MEDIA_MOUNTED);

获得sd卡根目录

File skRoot = Environment.getExternalStorageDirectory();

获得私有根目录

File fileRoot = Context.getFilesDir()+"";

确定或获得文件夹和文件路径

String path = File.getPath();//相对

String path = File.getAbsoultePath();//绝对

获得文件或文件夹的父目录

String parentPath = File.getParent()

获得文件或文件夹的名称:

String Name = File.getName();

建立文件或文件夹

File.createNewFile();//建立文件

判断是文件或文件夹

File.isDirectory()

列出文件夹下的所有文件和文件夹名

File[] files = File.listFiles();

修改文件夹和文件名

File.renameTo(dest);

删除文件夹或文件

File.delete();

文件读写操作模式

Context.MODE_PRIVATE:新内容覆盖原内容

Context.MODE_APPEND:新内容追加到原内容后

Context.MODE_WORLD_READABLE:允许其他应用程序读取

Context.MODE_WORLD_WRITEABLE:允许其他应用程序写入,会覆盖原数据。

Java和Android文件操作的更多相关文章

  1. android 文件操作类简易总结

    android 文件操作类(参考链接) http://www.cnblogs.com/menlsh/archive/2013/04/02/2997084.html package com.androi ...

  2. Android 文件操作心得体会

    android 的文件操作说白了就是Java的文件操作的处理.所以如果对Java的io文件操作比较熟悉的话,android的文件操作就是小菜一碟了.好了,话不多说,开始今天的正题吧. 先从一个小项目入 ...

  3. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

  4. Java中的文件操作(一)RandomAccessFile

    今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...

  5. Java审计之文件操作漏洞

    Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 ...

  6. Java最全文件操作实例汇总

    本文实例汇总了Java文件操作.分享给大家供大家参考,具体如下: 1.创建文件夹 ? 1 2 3 4 5 6 7 8 9 10 11 //import java.io.*; File myFolder ...

  7. Java中的文件操作

    在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...

  8. 关于文件的INode与Java中的文件操作接口

    本文由作者周梁伟授权网易云社区发布. 近日做的项目中涉及到多进程共同读写多个文件的问题,文件名和最后修改时间都是可能会被频繁修改的,因而识别文件的唯一性会产生相当的麻烦,于是专门再学习了一下文件系统对 ...

  9. 第11讲-Java泛型和文件操作

    1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1.泛型 1.2.2.文件操作 2.具体内容 2.1.Java泛型 2.1.1.为什么需要泛型 我们发现在List中,底层是Object[ ]数 ...

随机推荐

  1. 隐藏 input 标签的边框

    css input 如何去掉点击后出现的边框:css文件里加:*:focus { outline: none; } 或 input {outline:none;} 去边框的方法如下 方法1: < ...

  2. hdu 4107

    Gangster Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  3. HDU 5023 A Corrupt Mayor's Performance Art (据说是线段树)

    题意:给定一个1-n的墙,然后有两种操作,一种是P l ,r, a 把l-r的墙都染成a这种颜色,另一种是 Q l, r 表示,输出 l-r 区间内的颜色. 析:应该是一个线段树+状态压缩,但是我用s ...

  4. IIS 7.5 + asp.net MVC4 设置路由处理URL请求

    使用asp.net MVC4开发的网站,在本地的VS012环境下运行,一切正常.但当发布到Windows 2008 R2(IIS7.5 + Framework4.5)上时,访问相关网页时,出现有下面的 ...

  5. JqueryEasyUI浅谈本地化应用

    JqueryEasyUI浅谈本地化应用 Jquery是对javascript一种封装,使我们开发人员使用起来更加方便,同时也解决了不同浏览器中javascript的兼容性.JqueryEasyUi是基 ...

  6. 理解 Soap

    http://www.cnblogs.com/yhuang/archive/2012/04/04/share_storm.html 自己也写了下: using System; using System ...

  7. 微软BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server)

    [公告]本博客于2015年10月起不再更新 新博客文章主要发表在商业智能BI社区: http://www.flybi.net/blog/biwork 博客地图自动分类 文章目录方便更好的导航,阅读文章 ...

  8. 从源代码分析Android-Universal-Image-Loader的缓存处理机制

    讲到缓存,平时流水线上的码农一定觉得这是一个高大上的东西.看过网上各种讲缓存原理的文章,总感觉那些文章讲的就是玩具,能用吗?这次我将带你一起看过UIL这个国内外大牛都追捧的图片缓存类库的缓存处理机制. ...

  9. [自制简单操作系统] 2、鼠标及键盘中断处理事件[PIC\GDT\IDT\FIFO]

    1.大致介绍: >_<" 大致执行顺序是:ipl10.nas->asmhead.nas->bootpack.c PS: 这里bootpack.c要调用graphic. ...

  10. [51单片机] TFT2.4彩屏2 [32*32文字显示]

    >_<:同理如果想显示其他形式的字体,就要建立相应的库啦,如这里还有一个gb3232的汉字库:GB3232.h // ------------------ 汉字字模的数据结构定义 ---- ...