Java和Android文件操作

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:允许其他应用程序写入,会覆盖原数据

时间: 2024-11-01 10:50:05

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

Android文件操作的存放位置和形式

在上课学习时也学了,虽然大概知道如何用,项目中都在用,但总感觉"不系统",因此看看大牛的博客,根据自己理解与之前所学,在总结一下,心里有个底. 第一,存储位置:内部存储 ,外部存储   和 apk内部资源 内部存储(internal storage :由android系统分配给app的空间) 外部存储(external storage:开发中通常指sd卡) apk内部资源(这是我自己的归类,指的是开发时工程目录下的文件,主要为Assets目录,这样归类只是便于记忆) 以下解释来自:ht

Java最全文件操作实例汇总

本文实例汇总了Java文件操作.分享给大家供大家参考,具体如下: 1.创建文件夹 ? 1 2 3 4 5 6 7 8 9 10 11 //import java.io.*; File myFolderPath = new File(%%1); try { if (!myFolderPath.exists()) { myFolderPath.mkdir(); } } catch (Exception e) { System.out.println("新建目录操作出错"); e.print

Java中的文件操作

在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前,我们要知道,计算机其实就是一个文件系统.在计算机中,我们能在硬盘中看到的所有东西都叫文件.由此看来,计算机中文件是一个很广的范围.事实上,计算机中文件被分为了3种,一个是标准文件,一个是目录文件,还有一个就是虚拟内存文件. 这三种对于文件的分类没有一个明确的定义,后缀名是(.txt..doc..m

java使用FileUtils文件操作神器

前言: 在工作当中我们往往遇到很多文件的操作,我们也习惯写一些自己定义的工具类来简化文件操作,其实apache的commons的FileUtils类就是这样一个工具类,使用它能大大的简化我们对文件的操作. 准备工作: 1.下载jar     地址:http://commons.apache.org/proper/commons-io/download_io.cgi 2.把commons-io-2.4.jar 这个文件导入到你的项目中 说明: 1.由于是一个工具类使用都非常的简单 所以本文只是将其

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

本文由作者周梁伟授权网易云社区发布. 近日做的项目中涉及到多进程共同读写多个文件的问题,文件名和最后修改时间都是可能会被频繁修改的,因而识别文件的唯一性会产生相当的麻烦,于是专门再学习了一下文件系统对文件的组织管理方式. 一.    文件在文件系统中的组织方式 一块物理磁盘可以被分为若干个分区,分区的初始化操作就是在上面建立文件系统,如ext3,ext4,ntfs或fat32等都是文件系统的概念,还有网络文件系统如NFS等.同块磁盘上的不同分区也可以被指定不同的文件系统,文件系统对文件在磁盘上的

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

1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1.泛型 1.2.2.文件操作 2.具体内容 2.1.Java泛型 2.1.1.为什么需要泛型 我们发现在List中,底层是Object[ ]数组,那么也就是说,List可以存储任意对象类型.但是在实际开发中,我们一般一个List只存储一种类型,所以LIst就无法保证数据类型的约束. 第二点,我们存储的假如是String,那么我们希望取出来的数据类型也是String,没有泛型的时候,无论存什么,取出来的数据类型都是Object.我们希望存什

android文件操作OpenFileInput OpenFileOutput

android 中对文件的IO操作,OpenFileInput OpenFileOutput 返回对象为Java Io 的FileInputStream和FileOutputStream 我们通过一个小例子,来看下是如何使用的 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an

Android文件操作

第一步:前台页面main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent&qu

Android 文件操作

http://www.cnblogs.com/LiHuiGe8/p/5604725.html 读取Assets中的文件数据 在asset目录下的资源是无法直接访问的原生资源,但是这个目录保存的文件可以打包在程序里,Android应用通过Assetmanager来管理该目录下的原始资源. Android不为Assets下的文件生成id,如要使用assets里的文件,需要指定文件的路径和文件名. 代码使用示例: (1)在assets中创建文件:info.txt 文件内容为: 1,这是使用UTF-8编