Java初学者日志_IO流

File类并未涉及文件内容的读取或写入,这些操作必须通过IO流完成

File类的操作:

package com.day1;
/*
* 创建File类的实例
*     File(String filePath)
*     File(String parentPath,String chilePath )
*
* */
import java.io.File;
import java.io.IOException;
import java.util.Date;

public class FileTest {
   
    public void test(){
   
        //构造器1
        File file=new File("hello.txt");//相对路径,相对于当前项目
        File file1=new File("D:/下载/a.txt");//绝对路径
        System.out.println(file);
        System.out.println(file1);

        //构造器2
        File file2=new File("D:/下载","ha1");//child可以是个文件,也可以是个文件目录
        System.out.println(file2);

        //构造器2
        File file3=new File(file2,"a.txt");
        System.out.println(file3);
    }
    public void test2(){
   
        File file=new File("hello.txt");//相对路径,相对于当前项目
        File file1=new File("D:/下载/a.txt");//绝对路径
       // System.out.println(file);
        //绝对路径
        System.out.println(file1.getAbsolutePath());
        //获取路径
        System.out.println(file1.getPath());
        //获取名称
        System.out.println(file1.getName());
        //获取上层文件目录路径
        System.out.println(file1.getParent());
        //获取文件长度(字节数)
        System.out.println(file1.length());
        //获取最后一次的修改时间
        System.out.println(new Date(file1.lastModified()));
        System.out.println("************************************");


        //接下来两个方法适用于文件目录
        //Strign[] list()获取指定目录下的所有文件或者文件目录的名称数组
        File file2=new File("D:/下载/ha1");
        String[] list=file2.list();
        for (String s:list
             ) {
   
            System.out.println(s);
        }
        System.out.println("************************************");
        //File[] listFiles() 获取指定目录下的所有文件或者文件目录的File数组
        File[] files = file2.listFiles();
        for (File f:files
        ) {
   
            System.out.println(f);
        }


        System.out.println("************************************");


        //renameTo(File dest):把文件重命名为指定的文件路径
        //要想保证为ture,要保证file3存在,file4不存在,运行完成之后,file1消失
        File file3=new File("hello.txt");//相对路径,相对于当前项目
        File file4=new File("D:/下载/hi.txt");//绝对路径
        boolean b = file3.renameTo(file4);
        System.out.println(b);
    }


    //file类的判断方法
    public void test3(){
   

        File file1=new File("D:/下载/hi.txt");
        File file2=new File("D:/下载/hi1.txt");

        //判断是否是文件目录
        System.out.println(file1.isDirectory());
        //判断是否是文件
        System.out.println(file1.isFile());
        //判断是否存在
        System.out.println(file1.exists());
        //判断是否可读
        System.out.println(file1.canRead());
        //判断是否可写
        System.out.println(file1.canWrite());
        //判断是否隐藏
        System.out.println(file1.isHidden());
        System.out.println("************************");
        //判断是否是文件目录
        System.out.println(file2.isDirectory());
        //判断是否是文件
        System.out.println(file2.isFile());
        //判断是否存在
        System.out.println(file2.exists());
        //判断是否可读
        System.out.println(file2.canRead());
        //判断是否可写
        System.out.println(file2.canWrite());
        //判断是否隐藏
        System.out.println(file2.isHidden());


    }

    //创建,删除硬盘中对应的文件或文件目录
    public void test4() {
   
        //文件创建与删除
        File file1 = new File("hi.txt");
        if(!file1.exists()){
   
            try {
   
                file1.createNewFile();
            } catch (IOException e) {
   
                e.printStackTrace();
            }
            System.out.println("创建成功");
        }else{
   //删除
            file1.delete();
            System.out.println("删除成功");
        }

        //文件目录创建与删除

        //mkdir若父目录存在,则创建成功,若父目录不存在,则创建失败
        File file2 = new File("D:/下载/ha1/sfs/sha");
        boolean mkdir = file2.mkdir();
        if(mkdir){
   
            System.out.println("创建成功1");
        }else {
   
            System.out.println("创建失败");
        }
        //mkdir若父目录不存在,则把父目录创建出来
        File file3 = new File("D:/下载/ha1/shas/sdf/fds/sf");
        boolean mkdir1 = file3.mkdirs();
        if(mkdir1){
   
            System.out.println("创建成功2");
        }
    }
        public static void main(String[] args) {
   
        FileTest f=new FileTest();
        f.test();
        System.out.println("*********************");
        f.test2();
        System.out.println("*********************");
        f.test3();
        System.out.println("*********************");
        f.test4();
    }
}

IO流:

请添加图片描述
请添加图片描述
请添加图片描述

访问文件:

package com.day1.liu;

import org.junit.Test;

import java.io.*;

/*
*流的分类
* 数据单位:字节  字符
* 流向:    输入  输出
* 角色:    节点  处理
*
* 抽象基类:              节点流(文件流)             缓冲流
*
* InputStream           FileInputStream          BufferedInputStream
* OutputStream          FileOutputStream         BufferedOutputStream
* Reader                FileReader               BufferedReader
* Writer                FileWriter               BufferedWriter
* */
public class ReaderWriterTest {
   
    public static void main(String[] args) {
   
        File file = new File("liu//hi.txt");//相较于当前的工程
        System.out.println(file.getAbsolutePath());
        ReaderWriterTest rw = new ReaderWriterTest();
        rw.testFileReader();
    }

    //测试字符流
    //说明
    //1.read():返回一个读入的字符,如果达到文件末尾,返回-1
    //2.为了保证流资源一定可以执行关闭操作,需要使用try-catch-findlly处理
    @Test
    public void testFileReader() {
   
        FileReader f2 = null;
        try {
   
            /
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值