(完整word版)Java知识总结完整版,推荐文档 联系客服

发布时间 : 星期一 文章(完整word版)Java知识总结完整版,推荐文档更新完毕开始阅读42c9f84f148884868762caaedd3383c4ba4cb456

Reader的基本方法

int read() throws IOException

//读取一个字符并以整数的形式返回(0~255),如果返回-1已到输入流的末尾 int read(char[] cbuf) throws IOException

//读取一系列字符并存储到一个数组buffer,返回实际读取的字符数,如果读取前已到输入流的末尾返回-1

int read(char[] cbuf,int offset,int length) throws IOException

//读取length个字符,并存储到一个数组buffer,从offset位置开始,返回实际读取的字符数,如果读取前已到输入流的末尾返回-1 void close() throws IOException //关闭流释放内存资源

long slip(long n) throws IOException

//跳过n个字符不读,返回实际跳过的字符数

Write

继承自Write的流都是用于程序中输出数据,且数据的单位为字符(16bit);下图中深色的为节点流,浅色的为处理流

BufferedWriter

CharArrayWriter

OutputStreamWriter FileWriter

Write FilterWriter

PipedWriter

StringWriter

FilterWriter

Write的基本方法

void write(int c) throws IOException

//向输出流中写入一个字符数据,该字符数据为参数c的低16位 void wrie(char[] cbuf) throws IOException //将一个字符类型的数组中的数据写入输出流

void write(char[] cbuf,int offset,int length) throws IOException

//将一个字符类型的数组中的从指定位置(offset)开始的length个字符写入到输出流

void write(String string) throws IOException //将一个字符串中的字符写入到输出流

void write(String string,int offset,iint length) throws IOException //将一个字符串从offset开始的length个字符写入到输出流 void close() throws IOException //关闭流释放内存资源

void flush() throws IOException

//将输出流中缓冲的数据全部写出到目的地

节点流类型 类型 字符流 字节流 File(文件) FileReader FileInputStream FileWriter FileOutputStream Memory Array CharArrayReader ByteArrayInputStream CharArrayWriter ByteArrayOutputStream Memory String StringReader - StringWriter Pipe(管道) PipedReader PipedInputStream PipedWriter PipedOutputStream 访问文件 FileInputStream和FileOutputStream分别继承自InputStream和OutputStream,用于向文件中输入和输出字节

FileInputStream和FileOutputStream的常用构造方法:

FileInputStream(String name) throws FileNotFoundException FileInputStream(File file) throws FileNotFoundException FileOutputStream(String name) throws FileNotFoundException FileOutputStream(File file) throws FileNotFoundException FileOutputStream(File file,boolean append) throws FileNotFoundException:创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处

import java.io.*;

public class TestFileInputStream {

public static void main(String[] args) { int b = 0;

FileInputStream in = null; try { in =

FileInputStream(\ } catch (FileNotFoundException e) {

System.out.println(\找不到指定文件\ System.exit(-1); } try {

long num = 0;

while((b=in.read())!=-1){ System.out.print((char)b); num++; }

in.close();

System.out.println();

System.out.println(\共读取了 \个字节\ } catch (IOException e1) {

System.out.println(\文件读取错误\ } } }

import java.io.*;

public class TestFileOutputStream {

public static void main(String[] args) { int b = 0;

FileInputStream in = null; FileOutputStream out = null; try {

in = new FileInputStream(\ out = new FileOutputStream(\ while((b=in.read())!=-1){ out.write(b); }

in.close(); out.close();

} catch (FileNotFoundException e2) {

System.out.println(\找不到指定文件\ } catch (IOException e1) {

System.out.println(\文件复制错误\ }

System.out.println(\文件已复制\ }

new

}

FileReader和FileWriter与FileInputStream和FileOutputStream类似,只是读取写出字节和字符的差别

处理流类型 处理类型 字符流 字节流 Buffering BufferedReader BufferedInputStream BufferedWriter BufferedOutputStream Filtering FilterReader FilterInputStream FilterWriter FilterOutputStream Converting between InputStreamReader bytes and character OutputStreamWriter Object Serialization - ObjectInputStream ObjectOutputStream Data conversion - DataInputStream DataOutputStream Counting LineNumberReader LineNumberInputStream Peeking ahead PushbackReader PushbackInputStream Printing PrintWriter PrintStream 缓冲流

缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法 JDK提供了四种缓存流,常见的构造方法为: BufferedReader(Reader in)

BufferedReader(Reader in,int size) //size为自定义缓存区的大小 BufferedWriter(Writer out)

BufferedWriter(Writer out,int size) BufferedInputStream(InputStream in)

BuffferedInputStream(InputStream in,int size) BufferedOutputStream(OutputStream out)

BufferedOutputStream(OutputStream out,int size)

缓冲输入流支持其父类的mark和reset方法 BufferedReader提供了readLine方法。用于读取一行字符串(以\\r或\\n分隔) BufferedWriter提供了newLine方法,用于写入一个换行符 对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush方法将会使内存中的数据立刻写出

import java.io.*;

public class TestBufferStream1 {

public static void main(String[] args) { try {