java IO-输入输出流(一)

    我们知道,多数程序在不获取外部数据的情况下不能顺利完成目标。数据从一个输入源获得,程序的结果被送到输出目的地。
    java程序通过流来完成输入/输出,它是生产和消费信息的抽象。流通过java的输入/输出系统与物理设备连接,尽管与它们链接的物理设备不尽相同,但是所有流的行为具有同样的方式。这样,相同的输入/输出类和方法适用于所有类型的外部设备,这意味着一个输入流能够抽象多种不同类型的输入:从磁盘文件,从键盘或从网络套接字。同样,一个输出流可以输出到控制台、磁盘文件或相连的网络。流是处理输入/输出的一个简捷方法,例如它不需要代码理解键盘和网络的不同。Java中流的实现是基于java.io包定义的类层次结构的。
   
一、获取文件的属性信息

    知识点:
        通过java.io.File类可以获取文件的属性信息,使用File类的关键点如下:
        1、相对路径:相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。如:“./temp/xx.txt"将指向当前目录的temp子目录下的xx.txt文件。
        2、绝对路径:文件的真是路径。如Linux操作系统下的"/usr/java/xx.sh",Windows下的"c:/temp/xx.txt"。
        3、File类的构造方法的参数可以是文件的相对路径,也可以是文件的绝对路径,它被当作File对象的抽象路径。
        4、File类的getName方法获得文件名,该文件名不包含路径信息
        5、File类的getPath方法把抽象路径中的文件分隔符用系统默认文件分隔符替换后返回。windows下的系统默认文件分隔符是“/”,linux和UNIX下默认文件分隔符是“/"
        6、File类的getAbsolutePath方法获得文件的绝对路径
        7、File类的isAbsolute方法判断File对象的抽象路径是否为绝对路径
        8、File类的toURI方法获得File对象的URI,以”file:“协议开头
        9、File对象可以指向一个目录,isDirectory方法返回它是否指向目录,isFile方法返回它是否指向一个具体文件。
        10、File对象指向的文件可以不存在,exists方法返回它指向的文件是否存在
       
    实例演示

 

package  book.io;

import  java.io.File;
import  java.util.Date;

/**
 * 获取文件的基本信息
 * 
@author joe
 *
 
*/

public   class  GetFileInfos  {
    
public static void println(String s) {
        System.out.println(s);
    }

    
    
public static void main(String[] args) {
        
//用文件路径新建一个文件对象。路径可以是绝对路径也可以是相对路径
        
//传入的参数被当做为文件的抽象路径
        File file = new File("D:/work/newTemp.txt");
        println(
"文件名: " + file.getName());    //获取文件的名字,不包括路径
        
//将抽象路径中的文件分隔符系统默认分隔符替换
        println("文件路径: " + file.getPath());
        println(
"绝对路径: " + file.getAbsolutePath());    //获取文件的绝对路径
        println("父目录: " + file.getParent());    //获取抽象路径名的父抽象路径名
        println("文件是否存在: " + file.exists());
        println(
"是否可读: " + file.canRead());
        println(
"是否可写: " + file.canWrite());
        println(
"是否是隐藏文件: " + file.isHidden());
        println(
"是否是普通文件: " + file.isFile());
        println(
"是否是文件目录: " + file.isDirectory());
        println(
"文件路径是否是绝对路径: " + file.isAbsolute());
        println(
"文件路径的URI: " + file.toURI());
        println(
"文件最后修改时间: " + new Date(file.lastModified()));
        println(
"文件大小: " + file.length() + "bytes");
        println(
"是否可执行:"+file.canExecute());
    }


}

 输出结果:

 

文件名:    newTemp.txt
文件路径:    D:work ewTemp.txt
绝对路径:    D:work ewTemp.txt
父目录:    D:work
文件是否存在:    
true
是否可读:    
true
是否可写:    
true
是否是隐藏文件:    
false
是否是普通文件:    
true
是否是文件目录:    
false
文件路径是否是绝对路径:    
true
文件路径的URI:    file:
/ D: / work / newTemp.txt
文件最后修改时间:    Fri Nov 
30   01 : 37 : 11  CST  2007
文件大小:    0bytes
是否可执行:
true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值