JAVA(IO流)7.31

ok了家人们今天还是学习IO流,

.打印流【了解】

1.1 打印流的概述

我们平时使用的System语句就是调用了print()方法和println()方法。

这两个方法都来自于 java.io.PrintStream 类。
作用:
该类能够方便地打印各种数据类型的值,写入数据后可以实现自动
换行。
通常用于日志记录

1.2 打印流的构造方法

public PrintStream(String fileName) : 使用指定的文件名创建一个新
的打印流PrintStream ps = new PrintStream("ps.txt");
1.3 打印流的使用
PrintStream ps = new PrintStream("ps.txt");ps.println(100);
ps.println(true);
ps.println(你好);
ps.println(HelloWorld);

.装饰者设计模式

设计模式就总结出来的一套解决开发中各类问题现成方案(固定套
路)
装饰者设计模式:在不改变原类 , 不使用继承的基础上,动态地扩展
一个对象的功能。
装饰模式遵循原则 :
装饰类和被装饰类需要有共同的父类型 ( 接口 )
在装饰类中必须传入被装饰类的对象
在装饰类中对需要扩展的方法进行扩展
在装饰类中对不需要扩展的方法调用被装饰类中的同名方法
public interface Car {void color();void run();String jiayou(String you);
}
public class QQCar implements Car{@Overridepublic void color() {System.out.println("绿色");}@Overridepublic void run() {System.out.println("每秒跑1米");}@Overridepublic String jiayou(String you) {return "车要加"+you;}
}
public class QQWapper implements Car{private QQCar qqCar;public QQWapper(QQCar qqCar) {this.qqCar = qqCar;}@Overridepublic void color() {System.out.println("彩色");}@Overridepublic void run() {System.out.println("每秒跑1万米");}@Overridepublic String jiayou(String you) {return jiayou(you);}
}
public class CarTest {public static void main(String[] args) {QQCar qqCar = new QQCar();QQWapper qqWapper = new QQWapper(qqCar);qqWapper.color();qqWapper.run();}
}
扩展:方法增强的多种方式
继承 : 子类继承父类 , 重写父类中的方法 , 对方法进行增强 装饰模式 ( 装饰者模式 )
动态代理 : 在不修改源码的基础上实现方法的增强
//字符输入缓冲流: BufferedReader     特点:提高读的效率
情况:在使用FileReader类时,发现读的效率低,希望提高效率
//不能修改FileReader类、不能继承FileReader类 ,要对
read(char[] cbuf)方法进行增强
//使用装饰者模式解决:装饰类:  BufferedReader被装饰类: FileReader//装饰类     具有相同的父类型
public class BufferedReader extends Reader{//被装饰类private FileReader fileReader;//构造方法public BufferedReader(){}public BufferedReader(FileReader fileReader){//接收
被装饰类的对象this.fileReader = fileReader;}public BufferedReader(FileReader fileReader , int
size){this.fileReader = fileReader;this.size = size;}//成员变量private int size = 1024*8;//缓冲区对象char[] cbuf = new char[size];//重写read()方法public int read(){....read(cbuf);}//重写read(char[] cbuf)方法public int read(char[] cbuf){.......}//重写相关方法public void close(){fileReader.close();//调用原有功能}
}    
//多态
Reader  read = new BufferedReader( new FileReader("关联
文件") );

.commons-io工具包

3.1commons-io 工具包的使用
public static int copy(InputStream in, OutputStream out); 把
input输入流中的内容拷贝到output输出流中,返回拷贝的字节个数
(适合文件大小为2GB以下)
public static long copyLarge(InputStream in, OutputStream
out);把input输入流中的内容拷贝到output输出流中,返回拷贝的
字节个数(适合文件大小为2GB以上)
public static void copyFileToDirectory(final File srcFile, final File
destFile) //复制文件到另外一个目录下。public static void copyDirectoryToDirectory( file1 , file2 );//复制
file1目录到file2位置。
import org.apache.commons.io.IOUtils;import java.io.*;public class Work {public static void main(String[] args) throws Exception {//public static int copy(InputStream in, OutputStream out); 把//input输入流中的内容拷贝到output输出流中,返回拷贝的字节个数//(适合文件大小为2GB以下)InputStream src = new FileInputStream("D:\\20_IO流(四).pdf");OutputStream dest = new FileOutputStream("java_0730\\IO.txt");IOUtils.copy(src,dest);}
}
import org.apache.commons.io.FileUtils;import java.io.File;
import java.io.IOException;public class FileTEST {public static void main(String[] args) throws IOException {File src = new File("D:\\笔记资料");File dest = new File("D:\\1");FileUtils.copyDirectoryToDirectory(src,dest);}
}

ok了io学完了,下面学习多线程。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Web】TFCCTF 2024 部分题解

目录 GREETINGS SURFING SAFE_CONTENT FLASK DESTROYER GREETINGS 打express的SSTI GitHub - TheWation/NodeJsSSTI: Express app with Pug templates demonstrating SSTI vulnerability and secure implementation for educational purposes. payload: /result?user…

使用腾讯云域名解析实现网站重定向

前言 最近,在CSDN平台上我写了一系列博客,希望能与同学分享一些技术心得。然而,每当需要向他人推荐我的博客时,那串复杂且缺乏规律的CSDN博客首页域名总让我感到不便。这让我开始思考,如果能将这一域名替换为一个既个…

设计模式的概念

设计模式主要分为三类:创建类的设计模式、结构型设计模式、行为型设计模式。 创建类的设计模式:简单工厂,工厂模式,抽象工厂,建造者,单例,原型 结构型设计模式:代理模式、享元模式 行…

博物馆展厅AI交互数字人,解锁创新的文化交互体验

在智能化时代,博物馆展厅融入AI交互数字人,可以为游客给予实时交互的旅游服务,AI交互数字人可以承担智能引导、讲解、接待、客服与导游等多重角色,为游客塑造崭新的旅游体验。 AI交互数字人相比传统的录屏解说相比,AI…

【无所从来,亦无所去】纪念去世的奶奶和外公「纪念网页」

大家好,我是DX3906 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘大前端领域、真诚分享知识与智慧的小天地!🎇 纪念 2024年 奶奶 85岁、 外公83岁。他们俩分别在今年的2月份和7月份离开了。 时光倒流,奶…

SVPWM5段式7段式差异分析和关键代码基于TI F28035

SVPWM5段式7段式差异分析和关键代码基于TI F28035 5段式有一相占空比始终为0或者1 扇区判断的扇区号和实际扇区不是一一对应,直接使用,而是映射关系 扇区判断变量 7段式和5段式在基本矢量作用顺序上的差异 SVPWM算法详解(已标注重点) 来自这篇文章,但经过实际测试,发现是…

使用Halcon变换与校正图像

使用Halcon变换与校正图像 文章目录 使用Halcon变换与校正图像1. 二维图像的平移、旋转和缩放1.图像的平移2.图像的旋转3.图像的缩放2. 图像的仿射变换3. 投影变换4 实例:透视形变图像校正 由于相机拍摄的时候可能存在角度偏差,因此实际获得的画面可能会…

Chainlit快速实现AI对话应用的界面定制化教程

前言 本文主要讲解如何自定义chainlit实现的网页界面的中的一些可以自定修改的样式的实现教程。比如修改自己的logo网站图标或者主题等 翻译 chainlit 默认网页界面显示的是英文,如果我们想显示为其他语言可以进行以下操作。 翻译文件位于项目根目录下的.chainli…

正点原子imx6ull-mini-Linux驱动之Linux I2C 驱动实验(21)

I2C 是很常用的一个串行通信接口,用于连接各种外设、传感器等器件,在裸机篇已经对 I.MX6U 的 I2C 接口做了详细的讲解。本章我们来学习一下如何在 Linux 下开发 I2C 接口器件 驱动,重点是学习 Linux 下的 I2C 驱动框架,按照指定的…

python中类class的魔法方法

开始介绍之前,我们先看下之前文章我们介绍过的内置类merryview的一些方法,如下图所示: 有很多双下划线开始和结束的method,这么多method是做啥子用的呢? 其实这些方法就是我们常说的魔法方法,也是python中的…

力扣——3143.正方形中的最多点数

题目: 自己的题解(史): PS:自己看了好几遍才看懂题目,然后想看题解,但是又看到了“标签”是 于是靠着自己效率极低的写了出来。 思路:二分 首先利用map,将每个坐标和标…

Es6常用的一些数组处理方法

在平时的开发中,我们很多时候用到数组结构数据,那么如何高效处理数组是可以提高开发效率的,现在越来越多人使用es6,那么它的很多方法简化了我们对数据的操作,比如以前数组循环用for循环写比较多的代码,现在…

20 注意力机制—注意力机制在seq2seq

1.使用注意力机制的seq2seq 注意力机制在 NLP 中的应用,也是最早的工作之一动机 在机器翻译的时候,每个生成的词可能相关于源句子中不同的词在语言翻译的时候,中文和英文之间的翻译可能会存在倒装,但是可能在西方语言之间,相同意思的句子中的词的位置可能近似地是对应的,…

Linux命令用法

文章目录 前言一、Linux基础命令1. Linux目录结构2. Linux命令入门3. 目录切换相关命令(cd、pwd)4. 相对路径、绝对路径和特殊路径符5. 创建目录命令((mkdir)6. 文件操作命令part1(touch、cat、more)7. 文件操作命令pa…

端侧模型与端到端模型,两者是一个东西吗

端侧模型 专为在端侧设备上运行而设计的人工智能模型,它们通常具有较小的模型参数量,以适应端侧设备的计算能力和内存限制。端侧模型可以快速响应,保护用户隐私,并且无需依赖云端算力,因此在消费电子产业中具有重要的…

学习记录——day25 多线程编程 临界资源 临界区 竞态 线程的同步互斥机制(用于解决竟态)

目录 ​编辑 一、多进程与多线程对比 二、 临界资源 临界区 竞态 例1:临界资源 实现 输入输出 例2:对临界资源 进行 减减 例子3:临界资源抢占使用 三、线程的同步互斥机制(用于解决竟态) 3.1基本概念 3.2线…

C# 实现改造 GooFlow 流程图插件与数据库应用的结合

目录 关于 GooFlow 功能需求 范例运行环境 设计数据表 流程项目表 流程项目节点明细表 流程项目节点审批人表 人员信息表 示例代码 流程图主功能 设置审批人信息 运行结果演示 总结 关于 GooFlow GooFlow 一个基于 Jquery/FontAwesome 的流程图/架构图画图插件&…

Spring File Storage(文件的对象存储)框架基本使用指南

概述 本文仅作为快速入门,深入学习及使用详见官网 云存储 在开发过程当中,会使用到存文档、图片、视频、音频等等,这些都会涉及存储的问题,文件可以直接存服务器,但需要考虑带宽和存储空间,另外一种方式…

漏洞挖掘 | src中一次证书站有趣的SQL注入

一、确定站点 按照以前文章中提到的寻找可进站测试的思路,找到了某证书站的一处站点,通告栏中写明了初始密码的结构,因此我们可通过信息搜集进入该站点(可以考虑去搜集比较老的学号,因为这样的账号要么被冻结,要么就是…

AMD Product Specifications - AMD 产品规格汇总

AMD Product Specifications - AMD 产品规格汇总 1. Desktop, Laptop and Workstation Processor Specifications (台式处理器、笔记本电脑处理器和工作站处理器规格)2. Server Processor Specifications (服务器处理器规格)3. Embedded Processor Specifications (嵌入式处理器…