Java基础——输入/输出(一)

概述    


      Java的IO通过java.io包下是类和接口来支持,在java.io包下主要包括输入,输出两种IO流,每种输入、输出流又可分为字节流和字符流两大类。其中字节流以字节为单位来处理输入、输出操作,而字符流以字符来处理来处理输入、输出操作。

 

一.File类


File类可以使用文件路径字符串来创建File实例,该文件字符串可以是绝对路径,也可以是相对路径。在默认情况下,系统总是依据用户的工作路径来解释相对路径,这个路径由系统属性“userdir”指定。

一旦创建了File对象后,就可以调用File对象的方法来访问,File类提供了很多方法来操作文件和目录,常见方法如下:

1. 创建:Boolean createNewFile(); //在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,如果文件已经存在,会覆盖。

    boolean mkdir(); //创建文件夹,只能创建一级文件夹

2. 删除:boolean delete(); //删除文件或目录。文件存在,返回true;文件不存在或者正在被执行,返回false。 

    void deleteOnExit(); //在程序退出时删除指定文件

3. 判断:boolean canExecute(); //是否是可执行文件

      boolean exists(); //文件是否存在

      boolean isFile(); //是否是文件

      boolean isDirectory();//是否是文件夹

      boolean isHidden(); //是否是隐藏文件

      boolean isAbsolute(); //文件是否是绝对路径

下面是一段代码,以简单的几个方法类测试File类的功能

import java.io.*;

public class FileTest
{
    public static void main(String[] args)
        throws IOException
    {
        // 以当前路径来创建一个File对象
        File file = new File("."); 
        // 直接获取文件名,输出一点
        System.out.println(file.getName());
        // 获取相对路径的父路径可能出错,下面代码输出null
        System.out.println(file.getParent());
        // 获取绝对路径
        System.out.println(file.getAbsoluteFile());
        // 获取上一级路径
        System.out.println(file.getAbsoluteFile().getParent());
        // 在当前路径下创建一个临时文件
        File tmpFile = File.createTempFile("aaa", ".txt", file);
        // 指定当JVM退出时删除该文件
        tmpFile.deleteOnExit();
        // 以系统当前时间作为新文件名来创建新文件
        File newFile = new File(System.currentTimeMillis() + "");
        System.out.println("newFile对象是否存在:" + newFile.exists());
        // 以指定newFile对象来创建一个文件
        newFile.createNewFile();
        // 以newFile对象来创建一个目录,因为newFile已经存在,
        // 所以下面方法返回false,即无法创建该目录
        newFile.mkdir();
        // 使用list()方法来列出当前路径下的所有文件和路径
        String[] fileList = file.list();
        System.out.println("====当前路径下所有文件和路径如下====");
        for (String fileName : fileList)
        {
            System.out.println(fileName);
        }
        // listRoots()静态方法列出所有的磁盘根路径。
        File[] roots = File.listRoots();
        System.out.println("====系统所有根路径如下====");
        for (File root : roots)
        {
            System.out.println(root);
        }
    }
}

运行结果为:

.
null
D:\j2se1\testWorkspace\Test1234\.
D:\j2se1\testWorkspace\Test1234
newFile对象是否存在:false
====当前路径下所有文件和路径如下====
.classpath
.project
.settings
1427952328698
aaa2416973888792423250.txt
bin
src
====系统所有根路径如下====
C:\
D:\
E:\
F:\
G:\

 


posted @ 2015-04-02 13:28  leejun同学  阅读(212)  评论(0编辑  收藏  举报