
io
小狗铂西
不断学习,积极向上
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
铂西学习日记---New IO
1、为什么要使用NIO?NIO是JDK1.4加入的新包,NIO的创建目的是为了让Jva程序员可以实现高速IO而无需编写自定义的本机代码。NIO将最耗时的/操作(即填充和提取缓冲区)转移回操作系统,因而可以极人地提高速度。2、流与块的比较原来的/o库(在java.io.*中)与NIo最重要的区别是数据打包和传输的方式,原来的/o以流的方式处理数据,而NIO以块的方式处理数据。面向流的/系统一次一个字节地处理数据。一个输入流产生一个字节的数据,一个输出流消费一个字节的数据。不利的一面是,面向流的IO通.原创 2022-02-09 14:48:47 · 150 阅读 · 0 评论 -
铂西学习日记---装饰者模式
IO体系的精髓---装饰者模式: 解决类爆炸问题,比单独生成子类更为灵活意图:动态的给一个对象添加一些职责,就像游戏装备一样,每装备一件装备就能体现不同的属性和功能。适用环境:1.在不影响其他对象的情况下,以动态透明的方式给单个对象添加职责。2.处理那些可以撤销的职责。3.当不能采用生成子类的方法扩充时:一种情况是:可能有大量独立的拓展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况是:可能是因为类定义被隐藏,或类定义不能用于生成子类。举例:卖豆浆主料:豆...原创 2022-02-09 09:38:04 · 360 阅读 · 0 评论 -
铂西学习日记---文件的压缩与解压
用到的流:ZipOutputStream 压缩流 ZipInputStream 解压流代码如下:import java.io.*;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;public class io_12_ZipStream { /** * 文件的压缩与解压 * @param arg..原创 2022-02-08 10:49:40 · 264 阅读 · 0 评论 -
铂西学习日记---Properties工具类
假如有一些固定的属性像版本号,ip地址号,我想修改其中的属性,但是项目一旦发布后就得从第一步开始修改,每次都得经历编写-->打包-->发布的过程,很麻烦,配置文件很好的解决这个问题。...原创 2022-02-07 15:41:09 · 596 阅读 · 0 评论 -
铂西学习日记---RandomAccessFile工具类
RandomAccessFile是IO包的类,从Object直接继承而来。只可以对文件进行操作,可以对文件进行读取和写入。当模式为r是,当文件不存在时会报异常,当模式为w时,当文件不存在时,会自己动创建文件,当文件已经存在时不会对原有文件进行覆盖。RandomAccessFile有强大的文件读写功能,其内部是大型byte,可以通过seek(),getFile Pointer()等方法操作的指针,方便对数据进行写入与读取。还可以对基本数据类型进行直接的读和写操作。但是RandomAccess File.原创 2022-02-07 14:59:08 · 380 阅读 · 0 评论 -
铂西学习日记---字符串流与管道流
字符串流:import java.io.IOException;import java.io.StreamTokenizer;import java.io.StringReader;public class demo_io_StringStream { public static void main(String[] args) { read(); } /** * 了解即可 * 字符串流:以一个字符串为数据源,来构造一个字符流 .原创 2022-02-07 14:45:24 · 225 阅读 · 0 评论 -
铂西学习日记---文件分割与合并案例
文件分割与合并案例 :模拟分割大文件功能比如每次传输有限制,需要将一个大文件分割为多个小文件,然后传输完所有的小文件后合并成一个大文件。import java.io.*;import java.util.Enumeration;import java.util.Vector;public class demo_file_dividing_merging { //文件分割与合并 public static void main(String[] args) {// ..原创 2022-02-07 11:42:50 · 212 阅读 · 0 评论 -
铂西学习日记---数据流
DatalnputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本Jva数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。DatalnputStream对于多线程访问不一定是安全的。线程安全是可选的,它由此类方法的使用者负责。DataOutputStream:数据输出流允许应用程序以适当方式将基本Ja数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。案例:实现文件分割合并。简单例子:import java.io.*;.原创 2022-02-07 10:23:00 · 194 阅读 · 0 评论 -
铂西学习日记---字节数组流
1.字节数组流:基于内存操作,内部维护一个字节数组,我们可以利用流的读取机制来处理字符串,无需关闭,与文件无关,所以也不会报IO异常2.ByteArrayInputStream 可以将字节数组转换为输入流 而 ByteArrayOutputStream 可以捕获内存缓冲区的数据转换为字节数组import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.UnsupportedEncod原创 2022-02-07 08:44:29 · 361 阅读 · 0 评论 -
铂西学习日记---对象流与序列化
简单介绍序列化:序列化就是讲对象写入到输出流中,用来存储或传输,反之反序列化就是从输入流中读取对象。准备Dog类:class Dog{ private String name; private int age; public Dog(String name, int age) { this.name = name; this.age = age; } public void shout(){ System.原创 2022-01-30 19:13:58 · 606 阅读 · 0 评论 -
铂西学习日记---打印流
* 打印流--就是为了方便进行输出,打印流分为两类,分别是* 1.字符打印流 --- printWriter* 2.字节打印流 --- printStreamimport java.io.*;public class demo_io5_print { public static void main(String[] args) {// bytePrint(); charPrint(); } /** * 打印流--就是为了方..原创 2022-01-30 13:36:45 · 508 阅读 · 0 评论 -
铂西学习日记---缓冲流
字节缓冲流1.输出字节缓冲流: public static void byteWriter(){ File file = new File("1.txt"); try { OutputStream out = new FileOutputStream(file); //使用缓冲流--构造一个字节缓冲流 BufferedOutputStream bos = new BufferedOut.原创 2022-01-30 13:18:38 · 499 阅读 · 0 评论 -
铂西学习日记---字符字节转换流
首先不能迷:字节流:OutputStream --> FileOutputStream,InputStream --> FileInputStream字符流:Writer --> FileWriter,Reader --> FileReader字符字节转换流:Writer --> OutputStreamWriter,Reader --> InputStreamReader流向不同,相互转换:* OutputStreamWriter:可以将输出的字.原创 2022-01-30 11:44:32 · 559 阅读 · 0 评论 -
铂西学习日记---IO复制文件简单示例
直接上代码:import java.io.*;public class demo_io_copeFileDemo { //将一个指定文件复制到另一个文件位置 public static void main(String[] args) { copy("1.txt","2.txt"); } /** * 文件的复制就是从一个文件中读然后写,一边读一边写,最后记得需要关闭流对象 * * 注意应该是使用字节流 *原创 2022-01-30 09:29:39 · 606 阅读 · 0 评论 -
铂西学习日记---字符流的基本使用
import java.io.*;import java.nio.charset.StandardCharsets;public class demo_io { /** * 字节是文件传输的基本单位,文件内容也是以字节为单位存储的,从文件中把数据读到程序使用输入流,从数据从程序读到文件使用输出流 * @param args */ public static void main(String[] args) { /** .原创 2022-01-30 09:28:01 · 117 阅读 · 0 评论 -
铂西学习日记---字节输入输出流的原理及简单使用
字节是文件传输的基本单位,文件内容也是以字节为单位存储的,从文件中把数据读到程序使用输入流,从数据从程序读到文件使用输出流。(以程序为参考对象)输出流:超类 OutStream ,对文件操作就用其子类FileOutStream输入流:超类 InputStream ,对文件操作就用其子类FileInputStream输入输出字节流原理:每次只会操作一个字节(从文件中读取或写入),最终调用的是本地方法 native 方法在UTF-8编码中:一个中文等于三个字节,中文标点占三个字节。 一个英文字符..原创 2022-01-29 18:33:23 · 764 阅读 · 0 评论