今天不想跑,所以才去跑|

凉白茶

园龄:2年4个月粉丝:19关注:7

2023-06-04 10:04阅读: 33评论: 0推荐: 0

IO流 p1 文件的基本使用

文件的基本使用

一、文件

  • 什么是文件

    文件是保存数据的地方,比如word文档,txt文件,excel文件……都是文件。即可以保存一张图片,也可以保持视频,声音……

  • 文件流

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

    文件流

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

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

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

二、常用的文件操作

1. 创建文件对象相关构造器和方法

  1. new File(String pathName) :根据路径构建一个File对象,类似绝对路径
  2. new File(File parent, String child):根据父目录文件夹和子路径构建,类似根据相对路径
  3. new File(String parent, String child):根据父目录 和 子路径构建
  4. createNewFile(): 创建新文件
  • 代码演示:

    import org.junit.jupiter.api.Test;
    import java.io.File;
    import java.io.IOException;
    /**
    * @author
    * @version 1.0
    * 演示创建文件
    */
    public class FileCreate {
    public static void main(String[] args) {
    }
    //方式1 new File(String pathName),类似根据绝对路径创建?
    @Test
    public void create01(){
    String pathName = "e:\\news1.txt";
    File file = new File(pathName);//创建文件对象,此时只是有一个对象在jvm内存中
    try {
    file.createNewFile();//创建文件,这里才对磁盘做出操作,创建出文件
    System.out.println("文件创建成功");
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    //方式2 new File(File parent, String child),类似根据相对路径创建?
    //根据父目录文件夹和子路径构建
    @Test
    public void create02(){
    File parentFile = new File("e:\\");
    String fileName = "news2.txt";
    File file = new File(parentFile, fileName);//创建文件对象
    try {
    file.createNewFile();//创建文件
    System.out.println("文件创建成功");
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    //方式3 new File(String parent, String child),根据父目录 + 子路径构建
    @Test
    public void create03(){
    // String parentPath = "e:\\";
    String parentPath = "e:/";//也可以这么写
    String fileName = "news3.txt";
    File file = new File(parentPath, fileName);
    try {
    file.createNewFile();
    System.out.println("文件创建成功");
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }

2. 获取文件的相关信息的方法

  • getName(),getAbsolutePath(),getParent(),length(),exists(),isFile(),isDirectory()

  • 代码演示:

    import org.junit.jupiter.api.Test;
    import java.io.File;
    import java.io.IOException;
    public class FileInformation {
    public static void main(String[] args) {
    }
    //获取文件信息
    @Test
    public void info(){
    //创建文件对象
    File file = new File("e:\\news1.txt");//File对象只是一个路径,可能是文件也可能是目录(文件夹)
    // try {
    // file.createNewFile();
    // } catch (IOException e) {
    // e.printStackTrace();
    // }
    //获取文件名字
    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());
    //该对象对应的是不是文件
    System.out.println("是不是一个文件 = " + file.isFile());
    //该对象对应的是不是目录
    System.out.println("是不是一个目录 = " + file.isDirectory());
    }
    }
    /*
    运行结果:
    文件名字 = news1.txt
    文件绝对路径 = e:\news1.txt
    文件父目录 = e:\
    文件大小 = 18
    文件是否存在 = true
    是不是一个文件 = true
    是不是一个目录 = false
    */

3. 目录的操作和文件删除

  • mkdir():创建一级目录
  • mkdirs():创建多级目录
  • delete():删除空目录或文件

代码演示:

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(filePath + " 删除成功");
}else {
System.out.println(filePath + " 删除失败");
}
}else {
System.out.println("文件不存在……");
}
}
//判断 D:\\demo02 是否存在,存在就删除
//目录也是文件
@Test
public void m2(){
String filePath = "D:\\demo02";
File file = new File(filePath);
if(file.exists()){
if(file.delete()){
System.out.println(filePath + " 删除成功");
}else {
System.out.println(filePath + " 删除失败");
}
}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(directoryPath + "存在...");
}else {
if (file.mkdirs()){//创建一级目录用mkdir(),创建多级目录使用mkdirs()
System.out.println(directoryPath + "创建成功...");
}else{
System.out.println(directoryPath + "创建失败...");
}
}
}
}

本文作者:凉白茶

本文链接:https://www.cnblogs.com/zh-Note/p/17455265.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   凉白茶  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.

作曲 : Reol

作词 : Reol

fade away...do over again...

fade away...do over again...

歌い始めの一文字目 いつも迷ってる

歌い始めの一文字目 いつも迷ってる

どうせとりとめのないことだけど

伝わらなきゃもっと意味がない

どうしたってこんなに複雑なのに

どうしたってこんなに複雑なのに

噛み砕いてやらなきゃ伝わらない

ほら結局歌詞なんかどうだっていい

僕の音楽なんかこの世になくたっていいんだよ

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

僕は気にしない 君は気付かない

何処にももういないいない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

忘れていく 忘れられていく

We don't know,We don't know.

目の前 広がる現実世界がまた歪んだ

目の前 広がる現実世界がまた歪んだ

何度リセットしても

僕は僕以外の誰かには生まれ変われない

「そんなの知ってるよ」

気になるあの子の噂話も

シニカル標的は次の速報

麻痺しちゃってるこっからエスケープ

麻痺しちゃってるこっからエスケープ

遠く遠くまで行けるよ

安定なんてない 不安定な世界

安定なんてない 不安定な世界

安定なんてない きっと明日には忘れるよ

fade away...do over again...

fade away...do over again...

そうだ世界はどこかがいつも嘘くさい

そうだ世界はどこかがいつも嘘くさい

綺麗事だけじゃ大事な人たちすら守れない

くだらない 僕らみんなどこか狂ってるみたい

本当のことなんか全部神様も知らない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

僕は気にしない 君は気付かない

何処にももういないいない

Everybody don't know why.

Everybody don't know why.

Everybody don't know much.

忘れていく 忘れられていく

We don't know,We don't know.