IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> JavaIO--总结 File 类的用法和 InputStream OutputStream 的用法 -> 正文阅读

[开发工具]JavaIO--总结 File 类的用法和 InputStream OutputStream 的用法

🚩Java 中操作文件

本节内容中,我们主要涉及文件的元信息、路径的操作,暂时不涉及关于文件中内容的读写操作。
Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,并不
代表真实存在该文件

??File 概述

我们先来看看 File 类中的常见属性、构造方法和方法
属性
在这里插入图片描述
构造方法
在这里插入图片描述
方法
在这里插入图片描述
先看看前面五组是如何使用的:
🔴使用方法如下

getParent、getName、getPath、getAbsolutePath、getCanonicalPath  
import java.io.File;
import java.io.IOException;
public class Test {
    public static void main(String[] args) throws IOException {
        //绝对路径
        File file=new File("d:/test.txt");
        System.out.println("创建成功");
        System.out.println(file.getParent());// 获取到文件的父目录文件路径
        System.out.println(file.getName());// 获取到文件名
        System.out.println(file.getPath());// 获取到文件路径(构造 file 的时候指定的路径)
        System.out.println(file.getAbsolutePath());// 获取到绝对路径
        System.out.println(file.getCanonicalPath());// 获取到绝对路径.[需要处理异常]
        System.out.println("====================");
        //相对路径
        File file1 = new File("./test.txt");
        System.out.println(file1.getParent());// 获取到文件的父目录文件路径
        System.out.println(file1.getName());// 获取到文件名
        System.out.println(file1.getPath());// 获取到文件路径(构造 file 的时候指定的路径)
        System.out.println(file1.getAbsolutePath());// 获取到绝对路径
        System.out.println(file1.getCanonicalPath());// 获取到绝对路径.[需要处理异常]
    }
}

在这里插入图片描述
🔴使用方法如下

exists、isDirectory、isFile      
import java.io.File;
import java.io.IOException;
public class Test {
    public static void main(String[] args) throws IOException {
        //绝对路径
        File file = new File("d:/test.txt");
        System.out.println(file.exists());//判断文件是否存在
        System.out.println(file.isDirectory());//判断文件是否是一个目录
        System.out.println(file.isFile());//判断文件是否是一个普通文件
        //相对路径
        System.out.println("==========");
        File file1 = new File("./test.txt");
        System.out.println(file1.exists());//判断文件是否真实存在
        System.out.println(file1.isDirectory());//判断文件是否是一个目录
        System.out.println(file1.isFile());//判断文件是否是一个普通文件
    }
}

🔴使用方法如下

createNewFile// 创建文件
public class Test {
    public static void main(String[] args) throws IOException {
        File file = new File("./test.txt");
        System.out.println(file.exists());//判断文件是否存在
        file.createNewFile();// 创建文件
        System.out.println(file.exists());//判断文件是否存在
    }
}

🔴使用方法如下

delete// 删除操作
import java.io.File;

public class Test {
    public static void main(String[] args) {
        File file = new File("./test.txt");
        System.out.println(file.exists());//存在
        file.delete();// 删除操作
        System.out.println(file.exists());//不存在
    }
}

🔴使用方法如下

mkdir、mkdirs
public class TestDemo5 {
    public static void main(String[] args) {
        File file = new File("./bbb"); //在当前项目底下创建一个 bbb 目录
        System.out.println(file.isDirectory());//不存在
        file.mkdir();// mkdir 方法 只能创建一级的目录
        System.out.println(file.isDirectory());//存在
    }
}

🔴使用方法如下

list 、listFiles// // 这个操作就是把 aaa目录里面的内容列举出来
public class TestDemo6 {
    public static void main(String[] args) {
        File file = new File("./aaa");
        System.out.println(file.list());
        // 这个操作就是把bbb目录里面的内容列举出来
        System.out.println(Arrays.toString(file.list()));
    }
//listFiles和list差不多,listFiles是打印出来相对路径,list是打印出来简化的路径
}

File 类的用法就先介绍到这里,其实还有很多其他的方法,这里就不一一介绍了。

??文件内容操作

主要操作:

文件内容
1)打开文件
2)读文件
3)写文件
4)关闭文件
针对文件内容的读写,Java标准库提供了一组类~
首先按照文件的内容,分成了两个系列:
1)字节流对象~针对二进制文件,以字节为单位进行读写
2)字符流对象,针对文本文件,是以字符为单位进行读写的
在这里插入图片描述

??首先先来看看针对字节流的读方法:

在这里插入图片描述
在这里插入图片描述

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class Test5 {
    public static void main(String[] args) throws IOException {
        InputStream inputStream=new FileInputStream("D:/test.txt") ;
        while (true)
        {
            int b=inputStream.read();
            if (b==-1)
            {
                break;
            }
            System.out.println(b);
        }
    inputStream.close();
    }
}

大家应该对这个没啥疑问吧,读出来的就是Ascii码值:
在这里插入图片描述
🔴针对字节流的写方法:
和上面的读操作一样,差别不大。

import java.io.*;

public class text {
    public static void main(String[] args) throws IOException {
        OutputStream outputStream=new FileOutputStream("D:/test.txt");
        byte[] buffer =new byte[]{97,98,99};
        outputStream.write(buffer);
        outputStream.close();
    }
}

在这里插入图片描述

??针对字符流对象进行读写操作

🔴针对字符流的读方法:

import java.io.*;

public class text {
    public static void main(String[] args) throws IOException {
      Reader reader=new FileReader("D:/test.txt");
      while (true)
      {
          char []buffer= new char[1024];
          int  len =reader.read(buffer);
          if (len==-1)
          {
              break;
          }
          for (int i=0;i<len;i++)
          {
              System.out.println(buffer[i]);
          }
      }
    }
}

在这里插入图片描述
🔴针对字符流的写方法:

import java.io.*;
public class text {
    public static void main(String[] args) throws IOException {
        Writer writer=new FileWriter("D:/test.txt");
        writer.write("sas");
        writer.close();
    }
}

在这里插入图片描述
在这里插入图片描述

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:03:22  更:2022-04-18 18:04:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 15:08:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码