Java学习9(输入输出流)

输入/输出流:

1.输入流:表示从一个源读取数据。

2.输出流:表示向一个目标写数据。

例程学习:创建文件,并用不同的类对文件进行写入、读出操作。

import java.io.*;
import java.lang.Exception;
import java.text.SimpleDateFormat;

public class FileTest{     //创建FileTest类
    public static void main(String[] args){    //FileTest类的主方法
        File file = new File("word.txt");    //利用File类实例化文件对象,文件名为word,文件类型为txt
        if(file.exists()){      //判断需要创建的文件是否存在
            file.delete();      //如果存在就删除文件
            System.out.println("文件已删除!");
            try{                //try语句块捕捉可能出现的异常
                file.createNewFile();    //利用File类的方法creatNewFile()创建文件
                System.out.println("文件已创建!");   //文件创建
            }catch(Exception e){
                e.printStackTrace();    //若无法创建,显示异常
            }
        }else{                  //如果不存在
            try{                //try语句块捕捉可能出现的异常
                file.createNewFile();    //利用File类的方法creatNewFile()创建文件
                System.out.println("文件已创建!");   //文件创建
            }catch(Exception e){
                e.printStackTrace();    //若无法创建,显示异常
            }
        }
        if(file.exists()){
            System.out.println("文件存在,文件信息如下:");
            String name = file.getName();   //定义一个字符串变量name读取文件名
            String address = file.getParent();    //定义一个字符串变量address获取文件的父路径
            String abd_address = file.getAbsolutePath();   //获取文件的绝对路径
            long length = file.length();    //定义一个长整型变量length读取文件长度(以字节为单位)
            long time = file.lastModified();   //获取文件最后被修改的时间
            boolean cr = file.canRead();    //判断文件是否为可读的
            boolean cw = file.canWrite();   //判断文件是否为可被写入的
            boolean dir = file.isDirectory();   //判断文件是否为一个目录
            boolean hid = file.isHidden();     //判断文件是否被隐藏
            SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");//获取文件最后被修改的时间
            System.out.println("文件名称:"+name);
            System.out.println("文件的父路径是:"+address);
            System.out.println("文件的绝对路径是:"+abd_address);
            System.out.println("文件长度是:"+length);
            System.out.println("文件最后被修改的时间是:"+sdf.format(file.lastModified()));
            System.out.println("文件是可读的吗?"+cr);
            System.out.println("文件是可被写入的吗?"+cw);
            System.out.println("文件是否为一个目录?"+dir);
            System.out.println("文件是否为隐藏文件?"+hid);
        }else{
            System.out.println("查找的文件不存在!");
        }
        //文件输入、输出流类
        try{
            FileOutputStream out = new FileOutputStream(file);  //创建FileOutputStream类的对象,目的是给文件中写入内容
            byte buy[] = "我有一头小毛驴~我从来也不骑~有一天我心血来潮骑它去赶集~".getBytes();   //创建byte型数组,getByte()方法的作用是将一个string类型的字符串转换成byte类型并且存入一个byte数组中
            out.write(buy);  //将创建的字节型数组写入文件file中
            out.close();    //关闭流
        }catch(Exception e){
            e.printStackTrace();   //输出异常信息
        }
        try{
            FileInputStream in = new FileInputStream(file);  //创建FileInputStream类的对象,目的是读取指定文件中的内容
            byte byt[] = new byte[1024];    //创建byt数组用于存放从文件中读取的信息
            int len = in.read(byt);     //从文件中读取信息
            System.out.println("文件中的信息是:"+new String(byt,0,len));   //将byte类型数组中读取的文件内容转换为字符串类型输
出
            in.close();   //关闭流
        }catch(Exception e){
            e.printStackTrace();
        }
        /** 利用FileReader和FileWriter类读写文件 */
        File file1 = new File("file.txt");  //实例化File类为file1对象,创建一个file.txt文件
        //创建文件file.txt
        try{
            file1.createNewFile();
        }catch(Exception e){
            e.printStackTrace();
        }
        try{
            FileWriter out = new FileWriter(file1);   //创建FileWriter对象
            String s = "这是用FileReader和FileWriter类读写的文件!";   //获取需要写入的内容
            out.write(s);    //将信息写入文件
            out.close();    //关闭流
        }catch(Exception e){
            e.printStackTrace();
        }
        try{
            FileReader in = new FileReader(file1);
            char byt[] = new char[1024];
            int len = in.read(byt);
            System.out.println("文件"+file1.getName()+"中的信息是:"+new String(byt));
            in.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

程序运行结果:

文件已删除!
文件已创建!
文件存在,文件信息如下:
文件名称:word.txt
文件的父路径是:null
文件的绝对路径是:/home/xayf/java_execise/IO/word.txt
文件长度是:0
文件最后被修改的时间是:08/12/2021 10:58:06
文件是可读的吗?true
文件是可被写入的吗?true
文件是否为一个目录?false
文件是否为隐藏文件?false
文件中的信息是:我有一头小毛驴~我从来也不骑~有一天我心血来潮骑它去赶集~
文件file.txt中的信息是:这是用FileReader和FileWriter类读写的文件!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值