java 输入输出流

这篇博客介绍了Java中的File类,包括构造方法和常用方法,如获取文件名、路径、属性等。此外,还讲解了I/O流的基本概念,如流的分类,并举例展示了如何使用File类递归打印所有文件。最后提到了字节流和字符流的区别,以及它们在Java中的抽象基类。
摘要由CSDN通过智能技术生成

目标

1、File类
2、I/O简介:流的概述/流的分类
3、InputStream/OutputStream
FileInputStream/FileOutStream
4、Reader/Writer
FileReader/FileWriter
InputStreamReader/OutputStreamWriter

File类的构造方法:

public File(String path)
如果path是实际存在的路径,则该File对象表示的是目录
如果path是文件名,则该File对象表示的是文件
public File(String path,String name)
path是路径名,name是文件名
public File(File dir,String name)
dir是路径名,name是文件名

File类的部分方法

文件名的处理
String getName( ); //得到一个文件的名称(不包括路径)
String getPath( ); //得到一个文件的路径名
String getAbsolutePath( );//得到一个文件的绝对路径名
String getParent( ); //得到一个文件的上一级目录名

文件属性测试
boolean exists( ); //测试当前File对象所指示的文件是否存在
boolean canWrite( );//测试当前文件是否可写
boolean canRead( );//测试当前文件是否可读
boolean isFile( ); //测试当前文件是否是文件(不是目录)
boolean isDirectory( ); //测试当前文件是否是目录
普通文件信息和工具
long lastModified( ); //得到文件最近一次修改的时间
long length( ); //得到文件的长度,以字节为单位
boolean delete( ); //删除当前文件
目录操作
boolean mkdir( ); //根据当前对象生成一个由该对象指定的路径
String list( ); //列出当前目录下的文件

File使用打印所有文件—递归调用

“`
package com.foot.class02;

import java.io.File;

public class TestFile {

public static void main(String[] args) {
        //文件路径  路径写法 C:\\Windows  和代码中有什么区别?
    String pathname = new String("C://Windows");
    //加载文件
    File file = new File(pathname);
    list(file);
}

private static void list(File file) {
    if(file.isFile() == true) {
        //是一个文件,将其名字输出
        System.out.println(file.getAbsolutePath() + "--" + file.getName());
    } else {
        //输出文件路径
        System.out.println(file.getPath());
        //将文件目录读出
        File files[] = file.listFiles();
        for (File f : files) {
            //递归调用
            list(f);
        }
    }
}

}
“`如果以上程序出现:java.lang.NullPointerException异常,表明文件的访问权限受到了限制。

流的分类

按处理数据单位不同可以分为字节流和字符流
字节流:用于处理字节数据。
字符流:用于处理Unicode字符数据。
J2SDK 所提供的所有流类型位于包java.io内都分别继承自以下四种抽象流类型:
字节输入流:InputStream
字节输出流:OutputStream
字符输入流: Reader
字节输出流:Writer
InPutStream
OutputStream
Reader
Writer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值