您的位置:首页 > 编程语言 > Java开发

Java笔记杨枝11.25

2017-11-27 16:11 169 查看

IO流

一 文件字节输入流(读数据)

构造方法:

public FileInputStream(String name)

开发步骤:

1)创建文件输入流对象

2)读数据

3)释放资源

读数据的方法:

1)一次读一个字节(会出现中文乱码,字符流解决)

2)一次读一个字节数组

举例:

package prac;

import java.io.FileInputStream;
import java.io.IOException;

public class Prac01 {
public static void main(String[] args) throws IOException {
FileInputStream  file=new    FileInputStream("a.txt");
//      一次读一个字节模板代码
int by=0;
while((by=file.read())!=-1){
System.out.print((char)by);
}

//一次读一个字节数组模板代码(速度快)
byte[] bys=new byte[1024];
int len=0;
while((len=file.read(bys))!=-1){
System.out.println(new String(bys,0,len));
}
file.close();

}
}


二 文件字节输出流(写数据)

FileOutputStream

构造方法同上

三 字节缓冲输入流:BufferedInputStream(读数据)

构造方法:

BufferedInputStream(InputStream in) :指定默认缓冲区大小创建字节缓冲输入流对象

BufferedInputStream bis = new BufferedInputStream(new FileInputStream("bis.txt")) ;


四 字节缓冲输出流(写数据)

BufferedOutputStream

flush()和close()方法的区别?

flush():刷新缓冲区的流,强迫将缓冲字节都写到该流中,刷新之后是可以写数据的.

close():关闭流对象所指向指向的这个资源文件,一旦关闭,写数据,写不进去的!

总结:对于图片文件,音频文件,视频文件,优先采用字节缓冲输入流(高效流)一次读取一个字节数组!

对于文本文件优先采用字符缓冲输入流(一次读取一行)

五 字符转换输入流InputStreamReader(字节输入流+编码格式(默认GBK))

InputStreamReader isr = new InputStreamReader(new FileInputStream("osw.txt"));//以GBK格式读数据


六 字符转换输入流便捷类(FileReader)

FileReader fr = new FileReader("a.txt") ;


七 字符转换输出流OutputStreamWriter(写完数据必须flush()刷新)

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("osw.txt"));//默认GBK


关于字符输出流写数据的方法:

public void write(int c):写单个字符

public void write(char[] cbuf):写一个字符数组

public abstract void write(char[] cbuf,int off,int len):写入字符数组的一部分

public void write(String str):写字符串

public void write(String str, int off,int len):写字符串的一部分

八 字符转换输出流便捷类FileWriter

FileWriter fw = new FileWriter("b.txt") ;


九 字符缓冲输入流BufferedReader

BufferedReader br = new BufferedReader(new FileReader("bw2.txt")) ;


public String readLine():一次读取一行

读数据模板代码:

String line = null ;
while((line=br.readLine())!=null){
System.out.println(line);
}


十 字符缓冲输出流BufferedWriter

BufferedWriter bw = new BufferedWriter(new FileWriter("bw2.txt")) ;


public void newLine():写入一个换行符号
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: