android -- 多级目录创建

分类: Android 4758人阅读 评论(3) 收藏 举报 android file 测试 string symbian 磁盘

//测试下Android下,程序能否创建多级目录结构
File file = new File ("/sdcard/test/uc/zhangkai/hello.txt");
if(!file.exists())//如果不存在
{
file.mkdirs();//测试下这个能否创建多级目录结构
}

//测试结果:
//运用此方法能够创建多级目录

//测试数据 测试结果
// /sdcard/test/uc/ 在sdcard目录下创建了test/uc目录结构
// /sdcard/test/uc/zhangkai/ 首先/sdcard/test/uc/是存在,程序直接的在 uc目录下创建了zhangkai目录
// /sdcard/test/uc/zhangkai/hello.txt 在zhangkai目录下多了个目录/hello.txt目录,


//因为调用的mkdirs(),因此只是创建的多级目录,如果要创建文件,还需要使用 file.createNewFile();

在Symbian S60中是系统目录是分为C盘和E盘的,C盘根目录是可写的,那么Android中系统自带的磁盘是否有可写的呢?

很多人是存储目录的时候是直接的/data/save.txt,我就奇怪了/data/目录可写吗,Android的除了sdcard 外,其它的位置是否是可写的,为此我专门写了段测试程序:

File [] files = new File ("/").listFiles();
int length = files.length;
for(int i = 0; i < length ; i++)
{
String name = files[i].getName();
System.out.println("name:"+name);
if(files[i].canWrite())
{
System.out.println("can write");
}
else
{
System.out.println("can not write");
}
}

测试结果如下:

通过观察可以发现:

系统自带的目录有一个文件夹是可写的,我们可以存放一些简单的文件到那里去,/sqlite_stmt_journals/,然后data目录,我们可以在里面新建另外一个文件加,但是即使新建了另外一个文件夹,这个文件夹也是不可写的

另外跟大家玩下FileOutputStream

说老实话,当初真是小敲了这个类啊

按照正常的逻辑我们在对某个目录下的文件进行操作一般是按如下的方式进行的:

File file = new File ("/sdcard/test.txt");

if(!file.exsit())

{

file.createNewFile();

}

FileOutputStream fileOut = new FileOutputStream (file);

也就是说我们必须通过程序来检测我们指定的目录下的这个文件是否是存在的,然后不存在我们就创建一个文件,在保证文件存在后,然后再打开文件流

FileOutputStream(String fileName);

FileOutputStream(String fileName,boolean append);

这两个FileOutputStream的函数可以直接代替上面的操作,

通过执行这个两个函数,当我们指定的目录中的文件不存在的时候,Android系统会自动为我们创建我们所指定的文件,然后大家文件的输出流,boolean append,代表的意思是:是否将流写入到文件的尾部

比如:

FileOutputStream fileOutput = new FileOutputStraem ("/sdcard/test.txt");

这句代码的功能就相当于:

如果sdcard内没有test.txt,会首先创建这个一个文件,然后打开文件输出流,如果存在,直接打开,这样我们在写程序的时候就可以轻松点

另外使用这种方法是有限制条件的,它只能创建文件,不能创建目录:

比如 :

FileOutputStram fileOutput = new FileOutputStream ("/sdcard/test/1.txt");

我们必须首先确保/sdcard/test/这个目录是存在的,然后这样上面这句代码就是OK的,

否则程序就会报错,大家可以自己真机测试下.

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ky53900/archive/2010/04/23/5518639.aspx

更多相关文章

  1. android project 文件夹
  2. Android 多国语言文件夹
  3. android shape用法(xml文件)
  4. android文件关联之mime type
  5. ubuntu共享文件夹设置
  6. android文件读取
  7. 将 android sql文件放生成在sd卡
  8. Android InstrumentationTestRunner 链接整理(白盒测试)
  9. Android写本地文件

随机推荐

  1. 什么是爬虫?Python爬虫工作需要掌握哪些技
  2. SkipList和java中ConcurrentSkipListMap
  3. java中ThreadLocal的使用
  4. 一文弄懂java中的Queue家族
  5. java中DelayQueue的使用
  6. java中的类型擦除type erasure
  7. 0415作业-Vue常用指令及方法
  8. 红帽变蓝帽对Ceph有何影响?
  9. 快递100快递信息订阅推送API接口案例代码
  10. 方圆-罗辑思维Go语言微服务改造实践