Java IO流对文件File操作

目录
  • 什么是文件
  • 常用的文件操作
    • 创建文件
    • 获取文件信息
    • 目录的操作和文件删除

什么是文件

文件,对我们并不陌生,文件是保存数据的地方,比如大家经常使用的word文档,txt文件,exce|文件..都是文件。它既可以保存一-张图片也可以保持视频,声音...

文件流

文件在程序中是以流的形式来操作的。

流:数据在数据源(文件)和程序(内存)之间经历的路径。

输入流:数据从数据源(文件)到程序(内存)的路径。

输出流:数据从程序(内存)到数据源(文件)的路径。

可以把上面的流比作人喝水

从杯子里的水喝进去人的胃里,就是输入流,人把水吐出到杯子里就是输出流。杯子就是磁盘,水就是文件。人就是Java程序,胃就是内存。

常用的文件操作

创建文件

new File(String pathname) //根据路径构建一一个File对象

new File(File parent,String child) //根据父目录文件+子路径构建

File(String parent,String child) //根据父目录+子路径构建

createNewFile创建新文件

直接看代码:

package com.io.file;
import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
/**
 * @author 华子
 * 文件的创建
 */
public class FileCreate {
    public static void main(String[] args) {
    }
//    第一种方法 new File(String path)
    @Test
    public void create01(){
        String filePath = "E:\\news1.txt";
        File file = new File(filePath);
        try {
            file.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            System.out.println("文件创建失败");
        }
    }
//    第二种方法 newFile(File parent,String path);父目录+子路径构建
    @Test
    public void create02(){
        File parentFile = new File("e:\\");
        String fileName = "news2.txt";
//        这里的file对象,只是一个Java对象,保存在内存中
        File file = new File(parentFile, fileName);
//        只有createNewFile()了,才会出现在磁盘中
        try {
            file.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            System.out.println("文件创建失败");
        }
    }
//方式3 new File(String parent, String child) //根据父日录+子路径构建
   @Test
    public void create03(){
        String parentFile = "e:\\";
        String childFile = "news\\news3.txt";
        File file = new File(parentFile, childFile);
        try {
            file.createNewFile();
            System.out.println("文件创建成功");
        } catch (IOException e) {
            System.out.println("文件创建失败");
        }
    }
}

运行结果:

第一种方法就是在E盘中创建了一个news1.txt文件

第二种方法通过父目录文件+子路径构建在E盘新建了一个 news2.txt 文件。

第三种就是 根据父目录+子路径构建 在E盘中的news文件夹里创建了一个new3.txt文件

如图:

获取文件信息

getName、getAbsolutePath、 getParent、 length、 exists、 isFile、isDirectory

获取上面创建的new3.txt文件。

直接看代码:

package com.io.file;
import org.junit.jupiter.api.Test;
import java.io.File;
/**
 * 获取文件信息
 */
public class FileInformation {
    public static void main(String[] args) {
    }
//    获取文件信息
    @Test
    public void info(){
//        先创建文件对象
        File file = new File("E:\\news\\news3.txt");
//        调用对应的方法,得到对应的信息
//        getName、getAbsolutePath、getParent、Length、exists、isFile、isDirectory
        System.out.println("文件名称:"+file.getName());
        System.out.println("文件绝对路径:"+file.getAbsolutePath());
        System.out.println("文件父级目录:"+file.getParent());
        System.out.println("文件大小:"+file.length());
        System.out.println("文件是否存在:"+file.exists());//true
        System.out.println("是不是一个文件:"+file.isFile());//true
        System.out.println("是不是一个目录:"+file.isDirectory());//false
    }
}

运行结果:

目录的操作和文件删除

mkdir创建一级目录、mkdirs创建多级目录、delete删除空目录或文件

直接看案例:

package com.io.file;
import org.junit.jupiter.api.Test;
import java.io.File;
/**
 * 目录
 */
public class Directory {
    public static void main(String[] args) {
    }
//    判断e:\news1.txt是否存在,如果存在就删除
    @Test
    public void m1(){
        String filePath = "e:\\news1.txt";
        File file = new File(filePath);
        if(file.exists()){
            if(file.delete()){
                System.out.println("文件已经删除....");
            }else {
                System.out.println("文件删除失败...");
            }
        }else {
            System.out.println("该文件不存在...");
        }
    }
    //判断D:\\demo02 这个目录是否存在,存在就删除,否则提示不存在
    //这里我们需要体会到,在java编程中,目录也被当做文件
    @Test
    public void m2(){
        String filePath = "D:\\demo02";
        File file = new File(filePath);
        if(file.exists()){
            if(file.delete()){
                System.out.println("目录已经删除....");
            }else {
                System.out.println("目录删除失败...");
            }
        }else {
            System.out.println("该目录不存在...");
        }
    }
    //判断D:\\demo\\a\\b\\c 日录是否存在,如果存在就提示经存在,否则就创建
    @Test
    public void m3(){
        String directoryPath = "D:\\demo\\a\\b\\c";
        File file = new File(directoryPath);
        if(file.exists()){
            System.out.println("目录已经存在");
        }else {
            if(file.mkdirs()){
                System.out.println("创建成功");
            }else {
                System.out.println("创建失败");
            }
        }
    }
}

m1方法删除news.txt文件,m2在D盘创建一级目录demo,m3在D盘创建多级目录

运行结果:

到此这篇关于Java IO流对文件File操作的文章就介绍到这了,更多相关Java操作File内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java File类常用方法与文件过滤器详解

    目录 File类 File类常用的构造方法 查看文件的相应信息 遍历目录下的文件 文件过滤器 对子目录进行遍历 删除文件及目录 File类 File类用于封装一个路径,这个路径可以是从系统盘符开始的绝对路径,也可以是相对于当前目录的相对路径,File类内部封装的路径可以指向一个文件,也可以指向一个目录,在File类中提供了针对这些目录或文件的一些常规操作. File类常用的构造方法 File(String pathname)//通过指定的一个字符串类型的文件路径来创建一个新的File对象 Fil

  • Java的File类和IO流其实真的不难

    目录 IO流: File类: 字节输出流: 字节输入流(从文件读取到控制台): 字符输出流: 字符输入流: 总结 IO流: IO流概述: IO:输入/输出(Input/Output) 流:是一种抽象概念,是对数据传输的总称.也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的, 常见的应用:文件复制;文件上传;文件下载等等,总而言之,涉及到传输的,都涉及到流. IO流体系图: 既然IO是涉及文件的操作,那么一定离不开文件操作的技术: File类: File

  • Java基础知识之I/O流和File类文件操作

    目录 I/O流原理及流的分类 I/O原理 I/O流的分类

  • Java文件操作之IO流 File类的使用详解

    File类概述 File类能新建.删除.重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流. 要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录. File对象可以作为参数传递给流的构造器. 常用构造器 ①public File(String pathname) 以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果是相对路径,则默认相

  • 浅谈Java中File文件的创建以及读写

    1.创建一个文件 @Test public void test6() throws IOException { File file1 = new File("C:\\IDEA\\h1.txt"); if(!file1.exists()){//文件不存在 file1.createNewFile(); System.out.println("创建成功"); }else{//文件存在 file1.delete(); System.out.println("删除成

  • Java Io File文件操作基础教程

    目录 File 类概述 File对象文件操作 File静态方法 获取各种路径 路径整合 获取classpath路径 (常用) 获取Tomcat的bin目录 常用功能 创建目录 创建文件 判断文件或文件夹是否存在 判断是文件还是文件夹 判断是否是绝对路径 判断是否是隐藏文件 删除文件或者整个文件夹 File 类概述 Java IO API中的FIle类可以让你访问底层文件系统,通过File类,你可以做到以下几点: 检测文件是否存在 读取文件长度 重命名或移动文件 删除文件 检测某个路径是文件还是目

  • Java IO流对文件File操作

    目录 什么是文件 常用的文件操作 创建文件 获取文件信息 目录的操作和文件删除 什么是文件 文件,对我们并不陌生,文件是保存数据的地方,比如大家经常使用的word文档,txt文件,exce|文件..都是文件.它既可以保存一-张图片也可以保持视频,声音... 文件流 文件在程序中是以流的形式来操作的. 流:数据在数据源(文件)和程序(内存)之间经历的路径. 输入流:数据从数据源(文件)到程序(内存)的路径. 输出流:数据从程序(内存)到数据源(文件)的路径. 可以把上面的流比作人喝水 从杯子里的水

  • java IO流将一个文件拆分为多个子文件代码示例

    文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位,对文件进行分割或合并. 看下基本思路: 如果有一个大文件,指定分割大小后(比如:按1M切割) step 1: 先根据原始文件大小.分割大小,算出最终分割的小文件数N step 2: 在磁盘上创建这N个小文件 step 3: 开多个线程(线程数=分割文件数),每个线程里,利用RandomAccessF

  • Java IO流和文件操作实现过程解析

    Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类型.对象.本地化字符集等等. 一个流可以理解为一个数据的序列.输入流表示从一个源读取数据,输出流表示向一个目标写数据. Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中. 控制台输入 BufferedReader br = new BufferedReader(new InputStreamReader(Syste

  • Java GZIPOutputStream流压缩文件的操作

    我就废话不多说了,大家还是直接看代码吧~ 不多说,直接上代码 public static void main(String[] args) throws Exception{ //压缩文件 File src = new File("e:/xx/aa.txt"); File zipFile = new File("e:/xx/a.zip"); FileOutputStream fos = new FileOutputStream(zipFile); ZipOutput

  • Java IO流之原理分类与节点流文件操作详解

    目录 IO流简介 IO流原理 流的分类 IO 流体系 节点流和处理流 节点流操作 IO流简介 I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输.如读/写文件,网络通讯等. Java程序中,对于数据的输入/输出操作以"流(stream)" 的方式进行. java.io包下提供了各种"流"类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据. IO流原理 输入input:读取外部数据(磁盘.光盘等存储设备的数据

  • java IO流文件的读写具体实例

    引言: 关于java IO流的操作是非常常见的,基本上每个项目都会用到,每次遇到都是去网上找一找就行了,屡试不爽.上次突然一个同事问了我java文件的读取,我一下子就懵了第一反应就是去网上找,虽然也能找到,但自己总感觉不是很踏实,所以今天就抽空看了看java IO流的一些操作,感觉还是很有收获的,顺便总结些资料,方便以后进一步的学习... IO流的分类:1.根据流的数据对象来分:高端流:所有的内存中的流都是高端流,比如:InputStreamReader  低端流:所有的外界设备中的流都是低端流

  • Java IO流 File类的常用API实例

    •File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOException; public class Demo16 { public static void main(String[] args) { File file = new File("F:\\javaio"); //文件(目录)是否存在 if(!file.exists()) { /

  • Java IO流学习总结之文件传输基础

    一.Java IO流总览 二.File类 2.1 常用API package pkg1; import java.io.File; import java.io.IOException; /** * @author Administrator * @date 2021/4/2 */ public class FileDemo { public static void main(String[] args) { // 了解构造函数,可查看API File file = new File("d:\\

  • Java利用Socket和IO流实现文件的上传与下载

    目录 背景概述 核心技术 Config Client Server UploadRunnableImpl DownloadRunnableImpl 背景概述 本文利用Socket编程和IO流技术实现文件的上传与下载. 核心技术 1.TCP 2.Socket 3.FileInputStream与FileOutputStream 4.DataInputStream与DataOutputStream 5.多线程 Config package com.io14; /** * 本文作者:谷哥的小弟 * 博

  • Java基于IO流读取文件的方法

    本文实例讲述了Java基于IO流读取文件的方法.分享给大家供大家参考,具体如下: public static void readFile(){ String pathString = TEST.class.getResource("/simu").getFile(); try { pathString = URLDecoder.decode(pathString, "utf-8"); } catch (UnsupportedEncodingException e1)

随机推荐