Java中File类的使用

java.io.File类用于表示文件(目录)
File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问

 1 import java.io.File;
 2 import java.io.IOException;
 3 
 4 public class FileDemo {
 5 
 6     public static void main(String[] args) throws IOException {
 7 
 8         //创建文件夹
 9         File file = new File("G:\\imooc\\test");
10         if(!file.exists()){
11             file.mkdir();
12             System.out.println("文件夹创建成功");
13         }else{
14             file.delete();
15             System.out.println("文件夹删除成功");
16         }
17         
18         //创建文件
19         File file2 = new File("G:\\imooc","fileDemo.txt");
20         if(!file2.exists()){
21             file2.createNewFile();
22             System.out.println("文件创建成功");
23         }else{
24             file2.delete();
25             System.out.println("文件删除成功");
26         }
27         
28         //判断是否是一个目录,如果是目录返回true,如果不是目录或目录不存在,返回false
29         System.out.println("判断是否为目录:"+file.isDirectory());
30         //判断是否是一个文件
31         System.out.println("判断是否为文件:"+file2.isFile());
32         
33         //打印路径
34         System.out.println(file);
35         System.out.println(file2.getAbsolutePath());
36         
37         //打印文件名,打印的是最后的文件文字
38         System.out.println(file.getName());
39         System.out.println(file2.getName());
40         
41         //访问父文件
42         System.out.println(file.getParent());
43         
44     }
45 
46 }

列出File的一些常用操作,过滤、遍历等

 

 1 import java.io.File;
 2 import java.io.IOException;
 3 
 4 /**
 5  * 列出File的一些常用操作,过滤、遍历等
 6  * @author lenovo
 7  *
 8  */
 9 public class FileUtil {
10 
11     
12     /**
13      * 列出指定目录下(包括其子目录)的所有文件
14      */
15     public static void listDirectory(File dir)throws IOException{
16         if(!dir.exists()){
17             throw new IllegalArgumentException("目录:"+dir+"不存在");
18         }
19         if(!dir.isDirectory()){
20             throw new IllegalArgumentException(dir+"不是目录");
21         }
22         
23         //list()方法用于列出当前目录下的子目录和文件,返回的是字符串数组,只是子文件名称,不包含子文件下的内容
24         String[] filename = dir.list();
25         for (String string : filename) {
26             System.out.println(dir+"\\"+string);
27         }
28         
29         System.out.println("-----------------");
30         //如果要遍历子目录下的内容,就需要构造成File对象做递归操作,File提供了返回子对象的API
31         File[] files = dir.listFiles();//返回的直接子目录(文件)的抽象
32         if(files != null && files.length>0){
33             for (File file : files) {
34                 if(file.isDirectory()){
35                     listDirectory(file);
36                 }else{
37                     System.out.println(file);
38                 }
39             }
40         }
41         
42     }
43 }

 

 

RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件
RandomAccessFile支持随机访问文件,可以访问文件的任意位置

(1)Java文件模型
在硬盘上的文件是byte byte byte存储的,是数据的集合
(2)打开文件
有两种模式,“rw”(读写)“r”(只读)
RandomAccessFile raf = new RandomAccessFile(file,"rw");
文件指针,打开文件时指针在开头 pointer = 0;
(3)写文件
raf.write(int)
(4)读文件
int b = raf.read()
(5)文具读写完成以后一定要关闭

 

posted @ 2016-07-20 09:12  Web1024  阅读(498)  评论(0编辑  收藏  举报