文件和IO

这篇博客详细介绍了Java中File类的使用,包括文件和目录的抽象表示、构造方法、创建、判断、获取和删除功能。同时,文章还深入探讨了字节流和字符流的概念,包括字节流的写数据、字符流的编码解码问题,以及特殊操作如标准输入输出流、打印流和对象序列化。通过实例代码展示了各个操作的实现,是学习Java IO的实用参考资料。
摘要由CSDN通过智能技术生成
package Demo;

import java.io.*;
import java.util.Properties;
import java.util.Set;




class Demo94 {
    public static void main(String[] args) throws IOException {
        stroe();
        load();
    }

    private static void load() throws IOException {
        Properties properties = new Properties();
        FileReader fr = new FileReader("Previous\\1.java");
//        void   load(Reader reader):从文件到集合
        properties.load(fr);
        System.out.println(properties);
        fr.close();

    }

    private static void stroe() throws IOException {
        //创建Properties集合
        Properties properties = new Properties();

        //创建FileWriter对象
        FileWriter fw = new FileWriter("Previous\\1.java");
        //往集合中添加元素
        properties.setProperty("heima001", "林黛玉");
        properties.setProperty("heima002", "王祖贤");
        properties.setProperty("heima003", "孙悟空");

        //void   store(Writer writer, String comments)//描述comments
        //从集合到文件
        properties.store(fw, null);
        fw.close();
    }

}

 

思维导图:

如果想看的下,可以把照片保存在本地,放大了跟方便看

 提示:一般本人学习新知识,都会做笔记和导图,笔记存在的目的方便加深记忆,思维导图存在的目的是加深知识的联系,让每个独立的知识点变得系统化

以下是我的笔记了

1.File

1.1.File概述和构造方法


 1.定义:文件和目录名的抽象表示

          重点:要区分什么是文件什么是目录  

                      文件就是比如我们创建的txt,word文档  目录就是文件夹      

 2.构造方法         


 1.2.File类的创建功能

     

package Demo;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class Demo50 {
    public static void main(String[] args) throws IOException {
        //需求1:我要在E:\\a1目录下创建 java. txt
        File f=new File("D:\\a1\\java.txt");
        System.out.println(f.createNewFile());
        System.out.println("------------------");
        //第一次输出为true 第二次输出为flase
        //如果没有这个文件则创建 并返回true
        //如果有这个文件,则返回false

        //需求2:我要在E:\\a1目录下创建一个目录 Javase
        File f1=new File("D:\\a1\\javase");
        System.out.println(f1.mkdir());
        //创建目录(文件夹)

        //需求3:我要在E:\\a1目录下创建一个多级目录 JavaWeB\\HTML
        File f2=new File("D:\\a1\\JavaWeB\\HTML");
        System.out.println(f2.mkdir());
        //输出为false 原因:没有先创建JavaWeb这个目录,需使用mkdirs方法
        System.out.println(f2.mkdirs());
        //JAavWeb和HTML都创建成功 自己补齐父目录

        //需求4:我要在E:\\a1目录下创建一个文件Javase.txt
        File f3=new File("D:\\a1\\Javase.txt");
        System.out.println(f3.mkdir());
        //Javase.txt 看似是个文件名 但看创建文件还是目录看的是方法 而不是文件名
        System.out.println(f3.createNewFile());
        //false 因为目录和文件同名了 所以会直接输出false

    }
}

1.3.File类的判断和获取功能

1.判断方法

2.获取方法

 3.代码演示

package Demo;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;


class Demo51 {
    public static void main(String[] args) {
        File f = new File("C:\\Users\\天下第一剑\\com.team\\src\\Demo\\Demo.java");
        //测试此抽象路径名表示的File是否为 目录
        System.out.println(f.isDirectory());//emo.java是文件,不是文件夹,返回为false
        //测试此抽象路径名表示的File是否为 文件
        System.out.println(f.isFile());//true
        //测试此抽象路径名表示的File是否 存在
        System.out.println(f.exists());//存在返回为true

        System.out.println("---------------------------");
        //返回此抽象路径名的 绝对路径 名字符串
        System.out.println(f.getAbsolutePath());
        //C:\Users\天下第一剑\com.team\src\Demo\Demo.java


        //将此抽象路径名转换为 路径名字符串
        System.out.println(f.getPath());
        //C:\Users\天下第一剑\com.team\src\Demo\Demo.java
        System.out.println(f.getName());
        //Demo.java
        System.out.println("-------------------------------");

        File f1 = new File("D:\\a1");

        //public   String[ ] list():返回此抽象路径名表示的目录中的文件和目录的名称 字符串数组

        String[] strArray = f1.list();
        for (String s : strArray) {
            System.out.print(s + "\t");
        }
        //itheima.txt	java.txt	javase	Javase.txt	JavaWeB
        System.out.println();

        //返回此抽象路径名表示的目录中的文件和目录的 File对象数组
        File[] files = f1.listFiles();
        for (File file : files) {

            System.out.print(file + "\t");
            //D:\a1\itheima.txt	D:\a1\java.txt	D:\a1\javase	D:\a1\Javase.txt	D:\a1\JavaWeB

            System.out.print(file.getName() + "\t");
            //itheima.txt	java.txt	javase	Javase.txt	JavaWeB

            if (file.isFile()) {
                System.out.println(file.getName());//java.txt
            }
        }

    }
}

1.4.File类的删除功能

1.方法分类

 2.绝对路径和相对路径的区别

 3.代码演示

package Demo;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

class Demo52{
    public static void main(String[] args) throws IOException {

        File f=new File("C:\\Users\\天下第一剑\\com.team\\src\\java.java");
        System.out.println(f.createNewFile());

        //在当前目录下创建java.txt文件
//        File f1=new File("com.team\\java.txt");
//        System.out.prin
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值