学习JAVA的第十九天(基础)

目录

File

成员方法(判断和获取)

成员方法(创建和删除)

成员方法(获取并遍历) 

 IO流

FileOutputStream

FileInputStream

文件拷贝


          前言:学习JAVA的第十八天(基础)-CSDN博客

File

  • File对象就表示一个路径,可以是文件的路径、也可以是文件夹的路径
  • 这个路径可以是存在的,也允许是不存在

方法:

方法名说明
File(String pathname)根据文件路径创建文件对象
File(String parent,String child)根据父路径名字符串和子路径名字符串创建文件对象
File(File parent,String chlid)根据父路径对应文件对象和子路径名字符串创建文件对象

测试类

  public static void main(String[] args) {
        //根据文件路径创建文件对象
        String str = "D:\\FileDemo\\a.txt";
        File f1 = new File(str);
        System.out.println(f1);//D:\FileDemo\a.txt

        //父级路径:D:\FileDemo
        //子级路径:a.txt
        String parent = "D:\\FileDemo";
        String child = "a.txt";
        File f2 = new File(parent,child);
        System.out.println(f2);//D:\FileDemo\a.txt

        //把File表示的路径和String表示的进行拼接
        File parent2 = new File("D:\\FileDemo");
        String child2 = "a.txt";
        File f3 = new File(parent2,child2);
        System.out.println(f3);//D:\FileDemo\a.txt

    }

成员方法(判断和获取)

方法名称说明
boolean isDirectory()判断此路径名表示的File是否为文件夹
boolean isFile()判断此路径名表示的File是否为文件
boolean exists()判断此路径名表示的File是否存在

long length()

返回文件的大小(单位字节)
String getAbsolutePath()返回文件的绝对路径
String getPath()返回定义文件使用的路径
String getName()返回文件的名称,带后缀
long lastModified()返回文件最后的修改时间(时间毫秒值)

成员方法(创建和删除)

方法名说明
boolean createNewFile()创建一个新的空的文件
boolean mkdir()创建单级文件夹
boolean mkdirs()

创建多级文件夹

boolean delete()删除文件、空文件夹

成员方法(获取并遍历) 

方法名 说明

static File[] listRoots()

列出可用的文件系统根
String[] list()获取当前路径下的所有内容
String[] list(FilenameFilter filter)利用文件名过滤器获取当前路径下的所有内容
File[]  listFiles()获取当前路径下的所有内容
File[] listFiles(FileFilter filter)利用文件名过滤器获取当前路径下的所有内容
File[] listFiles(FilenameFilter filter)利用文件名过滤器获取当前路径下的所有内容

 IO流

        存储和读取数据的解决方案

IO流分类:

IO流体系:

FileOutputStream

                操作本地文件的字节输出流,可以把程序中的数据写到本地文件中。

测试类

public static void main(String[] args) throws IOException {
        //创建对象
        FileOutputStream fos = new FileOutputStream("student\\a.txt");

        //书写数据
        fos.write(97);

        //释放资源
        fos.close();

    }
public static void main(String[] args) throws IOException {
        //创建对象 续写
        FileOutputStream fos = new FileOutputStream("student\\a.txt",true);

        //换行符
        String str = "\r\n";
        fos.write(str.getBytes());
        
        //书写数据
        fos.write(98);

        //释放资源
        fos.close();

    }

FileInputStream

        操作本地文件的字节输入流,可以把本地文件中的数据读取到程序中来。

测试类

public static void main(String[] args) throws IOException {
        //创建对象
        FileInputStream fis = new FileInputStream("student\\a.txt");

        //循环读出数据
        int b = 1;
        while((b=fis.read() )!= -1){
            System.out.print((char) b);//abcd
        }

        //释放资源
        fis.close();
    }

文件拷贝

        小文件拷贝,边读边写(字节)。

测试类

 public static void main(String[] args) throws IOException {
        //创建对象
        FileInputStream fis = new FileInputStream(" D:\\java\\copy\\preview.jpg");
        FileOutputStream fos = new FileOutputStream("student\\copy.jpg");

        //边读边写
        int b ;
        while((b=fis.read()) != -1){
            fos.write(b);
        }

        //释放资源
        fos.close();
        fis.close();
    }

        大文件拷贝,一次读写多个字节数据

测试类

  public static void main(String[] args) throws IOException {
        //创建对象
        FileInputStream fis = new FileInputStream(" D:\\java\\java.mp4");
        FileOutputStream fos = new FileOutputStream("student\\copy.mp4");

        //边读边写
       int len;
       //一次读3M
       byte[] bytes = new byte[1024 * 1024 * 3 ];
       while((len = fis.read(bytes)) != -1){
           //读多少写多少
           fos.write(bytes,0,len);
       }

        //释放资源
        fos.close();
        fis.close();
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/447880.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一文读懂:公网IP地址证书

公网IP证书是一种SSL证书,用于验证和确认特定的公网IP地址是否实际属于申请者。如果验证通过,证书颁发机构将向该IP地址持有人颁发一个以IP地址为主题的SSL证书。使用公网IP证书可以有效提升IP身份的辨识度,减少网站链接被假冒的风险&#xf…

办公技巧分享:如何更新二维码的内容,并重新设计二维码样式?

怎样修改已经打印(或发布)的二维码的内容?还有能不能重新设计二维码的样子、颜色?即使二维码已经发布了,打印了。 其实,这都很容易实现。 今天的这篇教程就来详细说明如何更新二维码的内容?以…

这个简历你给几分?

求大家给给建议😭😭 自己算法几乎没刷过,项目也不咋好 打算21号开始投日常实习 好慌

Day31-计算机基础1

Day31-计算机基础1 1. 网络基础介绍1.1 什么是网络?1.2 为什么要有网络?1.3 运维人员需要学习哪些网络知识?1.4 按作用范围对网络分类 2.网络设备知识2.1 网络传输介质及传输信号2.2 网卡设备2.3 中继器(RP repeater)2…

labview的常用小技巧

1.切换:labview中控件函数与函数选板的使用非常频繁,而使用菜单来调用他们非常不方便。最简单的调用方法是:右击前面板,弹出控件选板;右击程序框图,弹出函数选板。然后按住CtrlE组合键,即可快速…

#QT(QString)

1.IDE:QTCreator 2.实验 3.记录 4.代码

Unity之PUN实现多人联机射击游戏的优化

目录 🎮一、 跳跃,加速跑 🎮二、玩家自定义输入昵称 🍅2.1 给昵称赋值 🍅2.2 实现 🎮三、玩家昵称同步到房间列表 🍅3.1 获取全部玩家 🍅3.2 自定义Player中的字段 &#…

优思学院|5S 应该由哪个部门负责推行?

很多人以为5S是生产部的事,负责的部门自然是生产部,事实上这是一个很严重的错误,那么,究竟5S 应该由哪个部门负责推行?我们今天就来讨论一下。如果你喜欢我们的文章,记得点赞和收藏。 5S是全员参与的活动&…

是什么样的父母才是真正内心最强

真正的内心强者:育子之道 在这个世界上,每个人都在追求内心的强大,而真正的内心强者往往是那些在育子之道上执着前行的父母。他们用自己的智慧和爱心,培养出独立、自信、有责任感的孩子,同时也锻造了自己的内心力量。…

第十一届“图灵杯“NEUQ-ACM程序设计竞赛-H(卷王)

思路&#xff1a;二分加爬树&#xff08;本人较为满意&#xff09; #include <bits/stdc.h>#define endl \n using ll long long; typedef unsigned long long ull; using namespace std;void GordenGhost();signed main() { #ifdef Gordenfreopen("in.txt",…

Win11用户必看:Win11 24H2版本更新教程!

随着Win11系统的不断更新&#xff0c;24H2版本带来了许多令人期待的新功能和优化。为了帮助您顺利完成更新&#xff0c;小编给您提供了详细的更新教程。按照本文的步骤进行操作&#xff0c;您将能够轻松完成Win11 24H2版本的更新&#xff0c;并享受全新的系统体验。 Win11 24H2…

助力头部银行10倍提升数据化运营效率,NoETL的破局之道丨爱分析活动

在数字化飞速发展的今天&#xff0c;企业经营者们逐渐认识到数据平台对于企业生产经营所不可或缺的价值。随着数据平台不断发展和进化&#xff0c;数据量、数据源、用数人群也日益增加&#xff0c;对于业务用数敏捷和数据管理有序同样带来了全新的挑战。数据应用层面&#xff0…

[Flutter]自定义等待转圈和Toast提示

1.自定义样式 2.自定义LoadingView import package:flutter/material.dart;enum LoadingStyle {onlyIndicator, // 仅一个转圈等待roundedRectangle, // 添加一个圆角矩形当背景maskingOperation, // 添加一个背景蒙层&#xff0c; 阻止用户操作 }class LoadingView {static f…

CleanMyMac X 4.14.1中文版功能介绍及激活入口

细心的用户发现苹果Mac电脑越用越慢&#xff0c;其实这种情况是正常的&#xff0c;mac电脑用久了会产生很多的缓存文件&#xff0c;如果不及时清理会影响运行速度。macbook就会产生各种各样的垃圾文件,比如说残留的注册表或者无效的注册表,系统碎片以及毫无用处的文件等,这些的…

C++动态二维数组vector<vector<T>>详细讲解

前言 在本文章中&#xff0c;我们将要详细介绍一下C中vector关于动态二维数组vector<vector>。 一、杨辉三角的引入 我们在介绍动态二维数组之前&#xff0c;先来看一下这道题目 在本题目中&#xff0c;我们很容易发现规律&#xff0c;两边数据为1,剩下的按照一定的规…

Dynamo程序添加到Revit工具栏(懒人版)

你是不是想将Dynamo写好的程序添加到Revit工具栏&#xff1f; 你是否还在因为Dyno Browser配置起来太复杂而烦恼&#xff1f; 你是否因为Dynamo不同版本&#xff0c;无法单独配置工具栏而发愁&#xff1f; 今天九哥来给大家弄了一个更简单的工具&#xff0c;是拿网上开源的工…

巫蛊之祸——汉武帝后期的一次重大事件

引 言 “巫蛊之祸”是汉武帝在位后期发生的一次重大政治事件&#xff0c;也是西汉历史上最大的冤案&#xff0c;此案导致皇后卫子夫和太子刘据自杀&#xff0c;数万人头落地&#xff0c;几十万人被牵连。 一、巫蛊之术的由来 《汉书》记载&#xff0c;巫蛊之术起源自胡巫&am…

批量合并:一键操作,轻松将多个TXT文本合并为一个

在信息爆炸的时代&#xff0c;我们每天都面临着处理大量文本信息的挑战。无论是学习、工作还是生活中&#xff0c;TXT文件作为最基础的文本格式&#xff0c;承载着大量的重要信息。然而&#xff0c;传统的文本管理方式往往效率低下&#xff0c;难以满足我们的实际需求。那么&am…

python处理csv文件

1.使用 csv_writer.writerow # 导入CSV安装包 import csv# 1. 创建文件对象 f open(文件名.csv,a,encodingutf-8)# 2. 基于文件对象构建 csv写入对象 csv_writer csv.writer(f)# 3. 构建列表头 csv_writer.writerow(["问题","答案"])list_name[] # 4. 写…

Python之Web开发中级教程----搭建Web框架一

准备环境&#xff1a;ubuntu,Python3.6.9 一、Web应用程序的原理 接收并解析HTTP请求&#xff0c;获取客户的请求信息->处理完成请求的业务逻辑->返回处理结果HTTP响应。 Web框架的架构是这样的&#xff1a; 基于python的web框架&#xff0c;如tornado、flask、webpy都是…