IO流
左绍骏
这个作者很懒,什么都没留下…
展开
-
Properties的load()和store()功能
Properties的load()和store()功能A:Properties的load()和store()功能B:案例演示Properties的load()和store()功能package com.heima.otherio;import java.io.FileInputStream;import java.io.FileNotFoundException;impo...原创 2020-01-31 00:15:28 · 336 阅读 · 0 评论 -
Properties的特殊功能使用
Properties的特殊功能使用A:Properties的特殊功能public Object setProperty(String key,String value)public String getProperty(String key)public Enumeration< String > stringPropertyNames()B:案例演示Proper...原创 2020-01-30 23:40:28 · 149 阅读 · 1 评论 -
Properties的概述和作为Map集合的使用
Properties的概述和作为Map集合的使用A:Properties的概述Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。B:案例演示Properties作为Map集合的使用package com.heima.otherio;import java.io.IOExcept...原创 2020-01-30 23:30:13 · 751 阅读 · 0 评论 -
两种方式实现键盘录入(了解)
两种方式实现键盘录入(了解)A:BufferedReader的readLine方法。BufferedReader br = new BufferedReader(new InputStreamReader(System.in));B:Scannerpackage com.heima.otherio;import java.io.IOException;import java...原创 2020-01-30 17:31:01 · 464 阅读 · 0 评论 -
修改标准输入输出流拷贝图片(了解)
修改标准输入输出流拷贝图片(了解)package com.heima.test;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.PrintStream;public class Test02 { /** * @param a...原创 2020-01-30 17:20:39 · 196 阅读 · 0 评论 -
标准输入输出流概述和输出语句
标准输入输出流概述和输出语句1.什么是标准输入输出流System.in是InputStream,标准输入流,默认可以从键盘输入读取字节数据。System.out是PrintStream,标注输出流,默认可以向Console中输出字符和字节数据。2.修改标准输入输出流修改输入流:System.setIn(InputStream)修改输出流:System.setOut(Pr...原创 2020-01-30 17:09:52 · 537 阅读 · 0 评论 -
打印流的概述和特点
打印流的概述和特点1.什么是打印流该流可以很方便的将对象的toString()结果输出,并且自动加上换行,而且可以使用自动刷出的模式。System.out就是一个PrintStream,其默认向控制台输出信息。 PrintStream ps = System.out; ps.println(97); //其实底层用的是Integer.toString(x),将x转换...原创 2020-01-30 15:42:10 · 346 阅读 · 0 评论 -
数据输入输出流(了解)
数据输入输出流(了解)1.什么是数据输入输出流DataInputStream,DataOutputStream可以按照基本数据类型大小读写数据例如按Long大小写出一个数字,写出时该数据占8字节。读取的时候也可以按照Long类型读取,一次读取8个字节。2.使用方式DataOutputStream(OutputStream),writeInt(),writeLong() D...原创 2020-01-30 13:40:08 · 412 阅读 · 0 评论 -
加上id号
加上id号注意:要写出的对象必须实现Serializable接口才能被序列化不用必须加id号。只要保证先存档后读档就不会报错。public class Person implements Serializable { private static final long serialVersionUID = 1L; ......原创 2020-01-29 21:55:17 · 148 阅读 · 0 评论 -
对象操作流优化
对象操作流优化将对象存储在集合中写出 Person p1 = new Person("张三", 23); Person p2 = new Person("李四", 24); Person p3 = new Person("马哥", 18); Person p4 = new Person("辉哥", 20); ArrayList<Person> list = ...原创 2020-01-29 21:37:34 · 144 阅读 · 0 评论 -
对象操作流ObjectInputStream
对象操作流ObjectInputStream读取:new ObjectInputStream(InputStream),readObject() public static void main(String[] args) throws IOException, ClassNotFoundException { ObjectInputStream ois = new ObjectI...原创 2020-01-29 21:04:44 · 366 阅读 · 0 评论 -
对象操作流ObjectOutputStream
对象操作流ObjectOutputStream1.什么是对象操作流该流可以将一个对象写出,或者读取一个对象到程序中。也就是执行了序列化和反序列化的操作。2.使用方式写出:new ObjectOutputStream(OutputStream),writeObject() Person p1 = new Person("张三", 23); Person p2 = new ...原创 2020-01-29 20:56:32 · 307 阅读 · 0 评论 -
随机访问流概述和读写数据(了解)
随机访问流概述和读写数据(了解)A:随机访问流概述RandomAccessFile概述RandomAccessFile类不属于流,是Object类的子类。但它融合了InputStream和OutputStream的功能。支持对随机访问文件的读取和写入,归因于seek()方法。B:read(),write(),seek()RandomAccessFile(File file, ...原创 2020-01-29 17:00:40 · 216 阅读 · 0 评论 -
内存输出流之黑马面试题
内存输出流之黑马面试题定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5) FileInputStream fis = new FileInputStream("a.txt"); //创建字节输入流,关联a.txt ByteArrayOutputStream baos = new ByteArrayOutputStr...原创 2020-01-29 15:29:37 · 142 阅读 · 0 评论 -
内存输出流
内存输出流1.什么是内存输出流该输出流可以向内存中写数据,把内存当作一个缓冲区,写出之后可以一次性获取出所有数据。2.使用方式创建对象:new ByteArrayOutputStream()写出数据:write(int),write(byte[])获取数据:toByteArray() FileInputStream fis = new FileInputStre...原创 2020-01-29 15:14:56 · 267 阅读 · 0 评论 -
序列流整合多个(了解)
序列流整合多个(了解)整合多个:SequenceInputStream(Enumeration) FileInputStream fis1 = new FileInputStream("a.txt"); //创建输入流对象,关联a.txt FileInputStream fis2 = new FileInputStream("b.txt"); //创建输入流对象,关联b.txt ...原创 2020-01-29 11:52:08 · 181 阅读 · 0 评论 -
序列流
序列流1.什么是序列流序列流可以把多个字节输入流整合成一个,从序列流中读取数据时,将从被整合的第一个流开始读,读完一个之后继续读第二个,以此类推。2.使用方式整合两个输入流:SequenceInputStream(InputStream, InputStream) FileInputStream fis1 = new FileInputStream("a.txt"); ...原创 2020-01-29 11:25:18 · 463 阅读 · 0 评论 -
练习
练习从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件名。 分析: 从键盘接收一个文件夹路径 1.如果录入的是不存在,给与提示。 2.如果录入的是文件路径,给与提示。 3.如果是文件夹路径,直接返回。 打印出该文件夹下所有的.java文件名 1.获取到该文件夹路径下的所有的文件和文件夹,存储在File数组中。 2.遍历数组,对每一个文件或文件...原创 2020-01-28 17:51:56 · 149 阅读 · 0 评论 -
递归
递归练习:5的阶乘递归:方法自己调用自己 5! 5 * 4 * 3 * 2 * 1 5 * fun(4)(代表4!) 4 * fun(3)(代表3!) 3 * fun(2)(代表2!) 2 * fun(1)(代表1!)递归的弊端:不能调用次数过多,容易导致栈内存...原创 2020-01-28 17:47:53 · 138 阅读 · 0 评论 -
试用版软件练习
试用版软件当我们下载一个试用版软件,没有购买正版的时候,每执行一次就会提醒我们还有多少次使用机会用学过的IO流知识,模拟试用版软件,试用10次机会,执行一次就提示一次您还有几次机会,如果次数到了提示请购买正版。分析:1.创建带缓冲的输入流对象,因为要使用readLine方法,可以保证数据的原样性2.将读到的字符串转换为int数3.对int数进行判断,如果大于0,就将其–写回去,如果不...原创 2020-05-30 13:47:51 · 234 阅读 · 0 评论 -
获取文本上字符出现的次数
获取文本上字符出现的次数获取一个文本上每个字符出现的次数,将结果写在times.txt上分析:1.创建带缓冲的输入流对象2.创建双列集合对象TreeMap3.将读到的字符存储在双列集合中,存储的时候要做判断,如果不包含这个键,就将键和1存储,如果包含这个键,就将该键和值加1存储4.关闭输入流5.创建输出流对象6.遍历集合将集合中的内容写到times.txt中7.关闭输出流...原创 2020-01-27 14:26:39 · 477 阅读 · 0 评论 -
转换流图解
转换流图解原创 2020-01-27 12:10:13 · 318 阅读 · 0 评论 -
使用指定的码表读写字符
使用指定的码表读写字符FileReader是使用默认码表读取文件, 如果需要使用指定码表读取, 那么可以使用InputStreamReader(字节流,编码表)FileWriter是使用默认码表写出文件, 如果需要使用指定码表写出, 那么可以使用OutputStreamWriter(字节流,编码表) BufferedReader br = //高效的用指定的编码表...原创 2020-01-27 11:56:28 · 231 阅读 · 0 评论 -
装饰设计模式
装饰设计模式装饰设计模式的好处是:耦合性不强,被装饰的类的变化与装饰类的变化无关 interface Coder { public void code(); } class Student implements Coder { @Override public void code() { System.out.println("javase");...原创 2020-01-26 20:17:04 · 126 阅读 · 0 评论 -
LineNumberReader
LineNumberReaderLineNumberReader是BufferedReader的子类,具有相同的功能,并且可以统计行号。调用getLineNumber()方法可以获取当前行号调用setLineNumber()方法可以设置当前行号package com.heima.chario;import java.io.FileReader;import java.io....原创 2020-01-24 19:52:19 · 1033 阅读 · 0 评论 -
将文本反转
将文本反转将一个文本文档上的文本反转,第一行和倒数第一行交换,第二行和倒数第二行交换。 分析: 1:创建输入输出流对象 2:创建集合对象 3:将读到的数据存储在集合中 4:倒着遍历集合将数据写到文件上 5:关流package com.heima.test;import java.io.BufferedReader;import java.io.Buffe...原创 2020-01-24 19:26:53 · 712 阅读 · 0 评论 -
readLine()和newLine()方法
readLine()和newLine()方法BufferedReader的readLine()方法可以读取一行字符(不包含换行符号)BufferedWriter的newLine()可以输出一个跨平台的换行符号"\r\n" BufferedReader br = new BufferedReader(new FileReader("aaa.txt")); BufferedWrit...原创 2020-01-24 16:58:26 · 1988 阅读 · 0 评论 -
带缓冲的字符流
带缓冲的字符流BufferedReader的read()方法读取字符时会一次读取若干字符到缓冲区, 然后逐个返回给程序, 降低读取文件的次数, 提高效率BufferedWriter的write()方法写出字符时会先写到缓冲区, 缓冲区写满时才会写到文件, 降低写文件的次数, 提高效率 //创建字符输入流对象,关联aaa.txt BufferedReader br = new B...原创 2020-01-20 22:56:24 · 268 阅读 · 0 评论 -
自定义字符数组的拷贝
自定义字符数组的拷贝FileReader fr = new FileReader("aaa.txt"); //创建字符输入流,关联aaa.txtFileWriter fw = new FileWriter("bbb.txt"); //创建字符输出流,关联bbb.txt int len;char[] arr = new char[1024*8]; //创建字符数组while((...原创 2020-01-20 22:50:59 · 284 阅读 · 0 评论 -
字符流是否可以拷贝非纯文本的文件
字符流是否可以拷贝非纯文本的文件字符流是否可以拷贝非纯文本的文件?不可以拷贝非纯文本的文件。因为在读的时候会将字节转换为字符,在转换过程中,可能找不到对应的字符,就会用问号(?)代替。写出的时候会将字符转换成字节写出去。如果是问号(?),直接写出,这样写出之后的文件就乱了,看不了了。//字符流不能拷贝纯文本的文件FileReader fr = new FileReader("双元....原创 2020-01-20 22:16:18 · 580 阅读 · 0 评论 -
什么情况下使用字符流
什么情况下使用字符流字符流也可以拷贝文本文件,但不推荐使用。因为读取时会把字节转为字符,写出时还要把字符转回字节。程序需要读取一段文本,或者需要写出一段文本的时候可以使用字符流。读取的时候是按照字符的大小读取的,不会出现半个中文。写出的时候可以直接将字符串写出,不用转换为字节数组。...原创 2020-01-20 22:02:48 · 385 阅读 · 0 评论 -
字符流的拷贝
字符流的拷贝FileReader fr = new FileReader("a.txt");FileWriter fw = new FileWriter("b.txt");int ch;while((ch = fr.read()) != -1) { fw.write(ch);}fr.close();fw.close();package com.heima.chario;...原创 2020-01-19 23:08:45 · 150 阅读 · 0 评论 -
字符流FileWriter
字符流FileWriterFileWriter类的write()方法可以自动把字符转为字节写出 FileWriter fw = new FileWriter("aaa.txt"); fw.write("aaa"); fw.close();package com.heima.chario;import java.io.FileWriter;import java.io...原创 2020-01-19 22:59:23 · 123 阅读 · 0 评论 -
字符流FileReader
字符流FileReaderA:字符流是什么字符流是可以直接读写字符的IO流字符流读取字符,就要先读取到字节数据,然后转为字符.。果要写出字符,需要把字符转为字节再写出。B:FileReaderFileReader类的read()方法可以按照字符大小读取 FileReader fr = new FileReader("xxx.txt"); //创建输入流对象,关联aaa...原创 2020-01-15 23:48:16 · 161 阅读 · 0 评论 -
录入数据拷贝到文件
录入数据拷贝到文件将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出。 Scanner sc = new Scanner(System.in); FileOutputStream fos = new FileOutputStream("text.txt"); System.out.println("请输入:"); while(true...原创 2020-01-12 22:54:13 · 147 阅读 · 0 评论 -
拷贝文件
拷贝文件在控制台录入文件的路径,将文件拷贝到当前项目下 Scanner sc = new Scanner(System.in); System.out.println("请输入一个文件路径"); String line = sc.nextLine(); //将键盘录入的文件路径存储在line中 File file = new File(line); //封装成F...原创 2020-01-12 22:34:14 · 182 阅读 · 1 评论 -
图片加密
图片加密给图片加密package com.heima.test;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOExcepti...原创 2020-01-12 16:53:36 · 366 阅读 · 0 评论 -
流的标准处理异常代码1.7版本
流的标准处理异常代码1.7版本try close try( FileInputStream fis = new FileInputStream("aaa.txt"); FileOutputStream fos = new FileOutputStream("bbb.txt"); MyClose mc = new MyClose(); ){ int b; ...原创 2020-01-12 16:44:10 · 141 阅读 · 0 评论 -
流的标准处理异常代码1.6版本及其以前
流的标准处理异常代码1.6版本及其以前try finally嵌套package com.heima.stream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class Demo11_TryFinally { /** * 之...原创 2020-01-12 16:19:13 · 154 阅读 · 0 评论 -
字节流读写中文
字节流读写中文字节流读取中文的问题字节流在读中文的时候有可能会读到半个中文,造成乱码字节流写出中文的问题字节流直接操作的字节,所以写出中文必须将字符串转换成字节数组写出回车换行 write("\r\n".getBytes());package com.heima.stream;import java.io.FileInputStream;import java.i...原创 2020-01-12 15:58:04 · 615 阅读 · 0 评论