当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取, 如果缓冲区数据不足,才会再从文件中读取.清不清空BufferedReader的缓冲区都对文件本身没什么影响,清了还影响速度 使用 BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中.如果缓冲区中的数据满了,才会一次对目的地进行写出. BufferedWriter的缓冲区如果不清空,有可能有部分内容只是写进缓冲区,但没有…
转换流 1.转换流:将字节流转换成字符流,转换之后就可以一个字符一个字符的往程序写内容了,并且可以调用字符节点流的write(String s)方法,还可以在外面套用BufferedReader()和BufferedWriter,并使用它们的readLine 和 newLine方法. 2.有两种转换流:InputStreamReader.OutputStreamWriter   练习小程序1: package test.io.transfer; import java.io.FileOutput…
上一节,我们分析了常见的节点流(FileInputStream/FileOutputStream  FileReader/FileWrite)和常见的处理流(BufferedInputStream/BufferedOutputStream  BufferedReader/BufferedWrite),经常而言我们都是针对文件的操作,然后带上缓冲的节点流进行处理,但有时候为了提升效率,我们发现频繁的读写文件并不是太好,那么于是出现了字节数组流,即存放在内存中,因此有称之为内存流:其中字节数组流也一…
File类的使用 Java程序如何访问文件?通过 java.io.File 类 使用File类需要先创建文件对象 File file=new File(String pathname);,创建时在构造函数中指定物理文件或目录,然后通过文件对象的方法操作文件或目录的属性. \ 是特殊字符,要使用需要转义 \\ File 类常用方法 方法名称 说明 boolean exists() 判断文件或目录是否存在 boolean isFile() 判断是否是文件 boolean isDirectory()…
Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类型.对象.本地化字符集等等. 一个流可以理解为一个数据的序列.输入流表示从一个 源读取数据,输出流表示向一个 目标写数据. Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中. 读取控制台输入: Java 的控制台输入由 System.in 完成 为了获得一个绑定…
Java.io包的File类,File类用于目录和文件的创建.删除.遍历等操作,但不能用于文件的读写. Java 对文件的写入和读取涉及到流的概念,写入为输出流,读取为输入流.如何理解流的概念呢?可以把流看成流动的自来水,打开水龙头,自来水就会通过自来水管从水源流到用户家中,同样的道理,水库中的水也会通过管道流入到水源.从水源流出到用户住家为自来水的输出流,从水库流入到水源为自来水的输入流,只有这样,自来水才能源源不断地流出到用户家中. 如果把水源看成文件,用户住家为读取文件的对象,水库为写入文…
类.对象.构造器 类定义了属性.方法,是抽象的,写在扩展名为java的文件中. 对象是类的实体,是具体的. 构造器:方法名与类名一致.没有返回类型,可以重载不能重写.在创建对象时调用.使用new调用实现分配内存空间的目的. 访问控制符 访问控制 本类 同一包 中的类 其他包 中子类 其他包 中的类 public Ö Ö Ö Ö private Ö × × × protected Ö Ö Ö × 缺省 Ö Ö × × 面向对象的特性: 封装 类的封装:讲属性和方法放在一起成为一个类. 属性的封装:…
20175202 2018-2019-2 <Java程序设计>第六周学习总结 教材知识点总结 1.内部类: Java支持在一个类中定义另一个类,称作内部类,包含内部类的类叫做外嵌类. 内部类的外嵌类的成员变量在内部类中仍然有效,内部类也可以调用其方法. 内部类的类体中不能声明变量和方法. 内部类仅供其外嵌类使用. 2.匿名类: 匿名类可以继承和重写父类的方法,且匿名类一定是内部类. 匿名类可以访问外嵌类的变量和方法,匿名类的类体不能声明static变量和方法. 创建对象时,必须使用父类的构造方…
字节数组输入流在内存中创建一个字节数组缓冲区,从输入流读取的数据保存在该字节数组缓冲区中.创建字节数组输入流对象有以下几种方式. 接收字节数组作为参数创建: ByteArrayInputStream bArray = new ByteArrayInputStream(byte [] a); 另一种创建方式是接收一个字节数组,和两个整形变量 off.len,off表示第一个读取的字节,len表示读取字节的长度. ByteArrayInputStream bArray = new ByteArray…
ByteArrayInputStream bArray = new ByteArrayInputStream(byte [] a); ByteArrayInputStream bArray = new ByteArrayInputStream( byte []a,int off,int len); 下面的例子演示了ByteArrayInputStream 和 ByteArrayOutputStream的使用: package study0805; import java.io.*;public…