Java输入和输出处理(一)

本课目标

了解输入输出的概念

使用 File类操作文件或目录

理解流的概念及分类

会使用字节流读写文本文件

一、Java I/O

二、文件(File)类

1.文件:相关记录或放在一起的数据的集合

2.Java程序如何访问文件属性?

JAVA API:java.io.File类

3.File 类访问文件属性

4.File 类的常用方法

public class StudentFile {
    public static void main(String[] args) throws IOException {
        //创建文件对象
        File studentFile = new File("files/studentInfo.txt");
        //判断文件是否存在 exists()
        System.out.println("文件或目录是否存在?\t" + studentFile.exists());
        //判断是否是文件  isFile()
        System.out.println("是否是文件?\t" + studentFile.isFile());
        //判断是否是目录  isDirectory()
        System.out.println("是否是目录?\t" + studentFile.isDirectory());
        //查找文件的相对路径  getPath()
        System.out.println("表示文件的相对路径:" + studentFile.getPath());
        //查找文件的绝对路径  getAbsolutePath()
        System.out.println("表示文件的绝对路径:" + studentFile.getAbsolutePath());
        //查找文件名称  getName()
        System.out.println("文件或目录的名称:" + studentFile.getName());
        //文件大小  length()
        System.out.println("文件的长度:" + studentFile.length());
        //删除文件,并判断删除之后是否还存在
        System.out.println("删除文件:" + studentFile.delete());
        if (!studentFile.exists()) {
            System.out.println("该文件已删除");
        }else {
            System.out.println("删除失败");
        }
        System.out.println("删除后该文件是否还存在?\t" + studentFile.exists());

        //重新创建文件,此时创建的文件是空文件
        try {
            System.out.println("重新创建studentInfo.txt文件:" + studentFile.createNewFile());
        }catch (IOException e){
            e.printStackTrace();
        }
        System.out.println();

        //创建文件 kd50.txt ,创建的文件为空文件
        File kd50File = new File("files/kd50.txt");
        if (!kd50File.exists()) {
            //kd50File.mkdir();//创建文件夹
            kd50File.mkdirs();//级联创建文件夹
        }
        System.out.println("新文件夹kd50是否创建成功:" + kd50File.exists());
        System.out.println();

        File newFile = new File("file/kgc/kd50/wang/txt");
        if (!newFile.exists()) {
            newFile.mkdirs();//级联创建文件夹
        }
        System.out.println("新文件wang是否创建成功:" + newFile.exists());
        System.out.println("新文件的大小:" + newFile.length());
        System.out.println();
    }
}

三、流

1.可以通过流来读写文件

2.输入/输出流与数据源

3.Java流的分类

4.FileInputStream 字节输入流,用于从文件中读取字节数据

InputStream类常用方法

  • int read()
  • int read(byte[] b)
  • int read(byte [] b , int off , int len)
  • void close( )
  • int available():可以从输入流中读取的字节数目

子类 FileInputStream 常用的构造方法

  • FileInputStream(File file)
  • FileInputStream(String name)

使用 FileInputStream  读文本文件的步骤

5.FileOutputStream 字节输出流 用于向文件中写入字节数据

OutputStream 类常用方法

  • void write (int c)
  • void write(byte[] buf)
  • void write(byte[] b,int off,int len)
  • void close()
  • void flush():强制把缓冲区的数据写到输出流中

子类 FileOutputStream 常用的构造方法

  • FileOutputStream (File file)
  • FileOutputStream(String name)
  • FileOutputStream(String name,boolean append)

使用 FileOutputStream 写文本文件的步骤

public class MyFileInput {
    public static void main(String[] args) throws FileNotFoundException {
        FileInputStream fis = null;
        try {
            fis = new FileInputStream("files/studentinfo.txt");
            //读取内容
            int read;
            while ((read= fis.read())!= -1) {
                System.out.print((char)read);
            }
            System.out.println();
        }catch (FileNotFoundException e){
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值