字符流,只能操作文本文件,不能操作图片.视频等非文本文件 字符输入流 java.io.Reader 字符输入流中一些共性的成员方法 int read():读取单个字符并返回. int read(char[] cbuf):一次读取多个字符,将这些字符存入数组. void close():关闭该流并释放与之关联的所有资源. 文件字符输入流 FileRead extends InputStreamReader extends Reader 构造方法: FileReader(File file): Fi…
对比文件字节流的优势 对于文本文件的数据传输,使用文件字符流,就不用考虑编码转码的问题. 对比文件字节流,在方法上的不同有哪些 文件字符流有append方法: Writer append(char c) Writer append(charSequence csq) 注:charSequence是字符序列,可读可写,String一旦定义不可修改内容,"abc"就是一个字符序列. Writer append(charSequence csq,int start,int end) 从字符序…
一切文件在存储时,都是以二进制数字的形式保存的,都是一个一个字节.无论使用什么样的流对象,底层传输的始终是二进制数据. 字节输出流 OutputStream java.io.OutputStream 此抽象类是表示字节输出流的所有类的超类,里边定义了一些子类共性的方法 void close():关闭此输出流并释放与此输出流有关的所有系统资源. void flush():刷新此输出流并强制写出所有缓冲的输出字节. void write(byte[] b):将指定的byte数组中 b.length…
第一章:File类 一.1个重点单词: file:文件:directory:文件夹/目录:path:路径(绝对路径:absolutePath) 二.4个静态成员变量: 1.static String pathSeparator 2.static char pathSeparatorChar 3.static String separator 4.static char separatorChar 其中,pathSeparator与pathSeparatorChar 是与系统有关的路径分隔符,在W…
File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOException; public class Demo16 { public static void main(String[] args) { File file = new File("F:\\javaio"); //文件(目录)是否存在 if(!file.exists()) { //…
 一.概念 Reader Reader用于读取的字符流抽象类,数据单位为字符. int read(): 读取一个字符的数据,并将字符的值作为int类型返回(0-65535之间的一个值,即Unicode值).如果未读出字符则返回-1(返回值为-1表示读取结束). void close() : 关闭流对象,释放相关系统资源. /*字符输入流 Reader 仅用于字符(不算管中文还是英文)文件,不适合图片等 *字节流 FileInputStream 对应 字符流 FileReader *字节流 Fil…
java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写文本文件的. 有的小朋友也会问,字节流称之为万能流,为什么还要设计字符流呢.没错,字节流可以读写任意类型的文件,包括文本文件,对于读取整个文本文件来说,字符流和字节流都可以轻松完成,但是对于某些情况,字节流读取文本文件却相当复杂: 1)一个读取一个字符. 2)一次读取文本文件的一行. 当然这些问题统…
字符流,读取的文件是字符的时候,有两个基类一个是Reader,一个是Writer这有点拟人的感觉,人直接看懂的是文字 字符流 字节流:读取的是文件中的二进制字节流并不会帮你转换成看的懂得字符 字符流:字符流会把读到的二进制的数据进行对应的编码解码工作. 字符流 = 字节流+编码(解码) 输入字符流Reader 输入字符流的基类 抽象类 |--FileReader 读取文件的输入字符流 FIleReader的用法: 1.找到目标文件 2.建立数据的输入通道 3.读取数据 4.关闭资源 FileWr…
第九章.转换流 字节编码和字符集 编码:按照某种规则将字符以二进制存储到计算机中. 解码:将存储在计算机中的二进制数按照某种规则解析显示出来. 字符编码:Character Encoding ,就是一套自然语言与二进制数之间的对应规则. 字符集:Charset,也叫编码表.是一个系统支持的所有字符的集合,包括各国文字.标点符号.图形符号.数字等. 常见字符集:常见字符集有ASCII字符表.GBK字符集.Unicode字符集等.一套字符集必然至少有一套字符编码: 以下为直接复制的内容. ASCII…
package com.hxzy.IOSer; import java.io.File;import java.io.IOException; public class Demo03 { public static void main(String[] args)throws Exception{ Gu_1(); Gu_2(); } /* * 2.File对象调用file.mkdirs() * 可以创建多层文件夹 * 这个方法是创建文件夹的 返回的同样是布尔值 * 同样需要File类的构造方法…
第十一章.打印流 概述:java.io.PrintStream extends OutputStream,为其他输出流添加了功能,使题目能够方便的打印各种数据值表示形式. 特点: 只负责数据的输出,不负责数据读取: 与其他输出流不同,打印流ps永远不会抛出IOException 有特有的方法: void print() void println() 构造方法: PrintStream(File file):输出的目的地是一个文件 PrintStream(OutputStream out):目的地…
在第一章中,有一个练习使用递归搜索文件 1 public static void main(String[] args) { 2 File f=new File("E:\\aaa"); 3 method(f); 4 } 5 6 private static void method(File f) { 7 System.out.println(f.getAbsoluteFile()); 8 File[] files = f.listFiles(); 9 for (File file :…
在JDK1.7之前: 1 package com.itheima.demo06.trycatch; 2 3 import java.io.FileWriter; 4 import java.io.IOException; 5 6 /* 7 在jdk1.7之前使用try catch finally 处理流中的异常 8 格式: 9 try{ 10 可能会产出异常的代码 11 }catch(异常类变量 变量名){ 12 异常的处理逻辑 13 }finally{ 14 一定会指定的代码 15 资源释放…
一:以内存为基准,按照数据的流动方向,流向内存为输入(读取数据),流出内存为输出.IO流有四大顶级父类: IO流四大顶级父类   输入流 输出流 字节流 字节输入流 InputStream 字节输出流 OutputStream 字符流 字符输入流 Reader 字符输出流 Writer…
day09[字节流.字符流] 主要内容 IO流 字节流 字符流 异常处理 Properties 教学目标 能够说出IO流的分类和功能 能够使用字节输出流写出数据到文件 能够使用字节输入流读取数据到程序 能够理解读取数据read(byte[])方法的原理 能够使用字节流完成文件的复制 能够使用FileWirter写数据到文件 能够说出FileWriter中关闭和刷新方法的区别 能够使用FileWriter写数据的5个方法 能够使用FileWriter写数据实现换行和追加写 能够使用FileRead…
java io 中,file类是必须掌握的.它的常用api用法见实例. package com.westward.io; import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) { File file= new File("d:\\javaio"); @SuppressWarnings("static-acce…
import java.io.File; import java.io.IOException; public class file { public static void main(String[] args) { /*java.io.File类用于表示文件(目录) *File类只用于表示文件(目录)的信息(名称,大小等), *不能用于文件内容的访问 */ //了解构造函数的情况 查帮助 File file=new File("D:\\一些工具\\eclipse\\workspace\\en…
创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir()  在指定位置创建一个单级文件夹.mkdirs()  在指定位置创建一个多级文件夹.renameTo(File dest)如果目标文件与源文件是在同一个路径下,那么renameTo的作用是重命名, 如果目标文件与源文件不是在同一个路径下,那么renameTo的作用就是剪切,而且还不能操作文件夹. 删除:delete()  删除文件或者一个空文件夹,不能删除非空文…
IO流:IO流用来处理设备之间的数据传输,Java对于流的操作对象都在IO包中将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出 流分为字节流和字符流字符流的由来:其实就是字节流读取文字字节数据后,不直接操作而是先查指定的编码表.获取相应的文字.在对这个文字进行操作,简单地说就是:字节流+编码表 字节流的顶层父类:1.InputStream 2.OutputStream 字符流的两个顶层父类:1.Reader 2.Writer这些体系的子类都以父类名作为后缀而子类名的前缀就是该对象的功…
前面介绍了文件的信息获取.管理操作,以及目录下的文件遍历,那么文件内部数据又是怎样读写的呢?这正是本文所要阐述的内容.File工具固然强大,但它并不能直接读写文件,而要借助于其它工具方能开展读写操作.对于写操作来说,需要通过文件写入器FileWriter搭配File工具才行.创建写入器对象的过程很简单,只要在调用FileWriter的构造方法时传递文件对象即可,接着就能调用写入器的下列方法向文件写入数据了.write:往文件写入字符串.注意该方法存在多个同名的重载方法.append:也是往文件写…
本章我们将会了解到关于Stream API的很多操作,这些操作能够完成很多复杂的查询,比如,比如筛选,切片,映射,查找,匹配和规约, 第一节,筛选和切片    首先我们来看看用谓词来选择流动的元素,主要介绍了几个基础操作,包括:filter, distinct, limit, skip等.    比如对于filter,这里给了上一章的一个例子,用一个谓词来判断一个菜单中是否有蔬菜: List<Dish> vegetarianMenu  = menu.stream().filter(Dish::…
1.字符流读取 字符流读取的所有类都是从Reader这个超类继承的,都是用于读取字符的,这些类分别是InputSteamReader(从字符流读取).FileReader(继承与InputStreamReader,读取文件流)StringReader(读取字符串).PipedReader(读取管道,管道的上端来自于一个PipedWriter).CharArrayReader(读取字符数组),还有两个比较特殊的类,一个是FileterReader,这是个抽象类,目前只有PushbackReader…
//字节流--->字符流 1. public class TestIO { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("c:/abc.txt");// 字节流 InputStreamReader isr = new InputStreamReader(fis);// 字符流 BufferedReader br = new…
第十章.序列化流 序列化流和反序列化流概述 序列化:用一个字节序列表示一个对象,该字节序列包含该对象的数据.对象的类型和对象中存储的属性等等信息.字节序列写出到文件后,相当于文件中持久保存了一个对象的信息. 反序列话:从文件中将字节序列读取回来,重构对象. 序列化与反序列化图示1: 序列化与反序列化图示2: Serializable 序列化和反序列化的时候,会抛出NotSerializableException,没有序列化异常. 类通过实现 java.io.Serializable 接口以启用其…
第八章.缓冲流 缓冲流概述 缓冲流,也叫高效流,是对4个基本的FileXxx流的增强.按照数据类型分为4类:   输入缓冲流 输出缓冲流 字节缓冲流 BufferedInputStream BufferedOutputStream 字符缓冲流 BufferedReader BufferedWriter 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写效率,如图: 字节缓冲输出流 BufferedOutputStream ja…
Properties概述 java.util.Properties extends Hashtable<k,v> implements Map<k,v> Properties类表示了一个持久的属性集. Properties可以保存在流中或从流中加载. Properties集合是唯一一个和IO流相结合的集合: 可以使用Properties集合中的方法store,把集合中的临时数据,持久化写入到硬盘中存储. 可以使用Properties集合中的方法load,把硬盘中保存的文件(键值对)…
/** * */ package com.io.file; import java.io.File; import java.io.IOException; /** * <pre> * <b>.</b> * <b>Description:</b> * file的工具类:包括遍历等 * <b>Author:</b> @xieji * <b>Date:</b> 2016年11月14日 上午11:26:2…
package test.file; import java.io.File; import java.io.IOException; public class TestFile { public static void main(String[] args) { try { File f = new File("E:/JAVA/Examples/To Learn/src/test/file/1.txt"); //创建文件 f.createNewFile(); System.out.p…
一.什么是IO? 我们都知道unix世界里.一切皆文件.而文件是什么呢?文件就是一串二进制流而已.不管socket.还是FIFO.管道.终端.对我们来说.一切都是文件.一切都是流.在信息交换的过程中.我们都是对这些流进行数据的收发操作.简称为I/O操作(input and output).往流中读出数据.系统调用read.写入数据.系统调用write.不过话说回来了.计算机里有这么多的流.我怎么知道要操作哪个流呢?做到这个的就是文件描述符.即通常所说的fd.一个fd就是一个整数.所以对这个整数的…
public static void copyFile2(String path1, String path2) { Reader reader = null; Writer writer = null; try { // 打开流 reader = new FileReader(path1); writer = new FileWriter(path2); // 进行拷贝 int ch = -1; char [] arr=new char[1024]; while ((ch = reader.r…