IO流
Posted yan09620
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流相关的知识,希望对你有一定的参考价值。
1.IO流的概述:用来处理设备间的数据传输(文件复制,文件下载,文件上传)
2.输入流和输出流图解:(读数据使用的是输入流,写数据使用的是输出流)
2.1:如何解决输出流中的换行问题:
window系统:
linux:
mac:
2.2:如何解决输出流中的追加输入数据问题:
使用FileWriter fw=new FileWriter("b.txt",ture);//表示追加写入,默认为false
3.使用输入流读取文件数据,每次读取一个,并输出在控制台:
/*
* 需求:从文件中读数据,依次读取一个并输出的控制台
*/
//创建输入流对象
FileReader fr=new FileReader("c.txt");
int ch = fr.read();
System.out.println((char)ch);
3.使用输出流读取一个文件的内容,用输出流将它写到另一个文件,实现复制:
//创建输入流对象
FileReader fr=new FileReader("a.txt");
//创建输出流对象
FileWriter fw=new FileWriter("b.txt");
//使用循环来写入数据
int ch;
\\1.fr.read()
\\2.ch=fr.read()
\\3.ch!=-1
while((ch=fr.read())!=-1) {
fw.write(ch);
}
//释放资源
fw.close();
fr.close();
4.字符缓冲流:
/* BufferedReader:将文本写入字符输出流,缓冲各个字符,从而提高单个字符,数组和字符串的高效写入
* BufferedWriter:从字符输出流中读取文件,缓冲各个字符从而实现字符,数组和字符串的高效读取
*/
public static void main(String[] args) throws IOException {
//创建字符缓冲输入流对象
BufferedReader br=new BufferedReader(new FileReader("a.txt"));
//创建字符缓冲输出流对象
BufferedWriter bw=new BufferedWriter(new FileWriter("bw.txt"));
char[] chs=new char[1024];
//利用循环来实现文件的复制
int len;
while((len=br.read(chs))!=-1) {
bw.write(chs, 0, len);
}
br.close();
bw.close();
}
字符缓冲流的特殊功能:
BufferedWriter:
1.void newLine():写一个换行符,这个换行符由系统来决定
BufferedReader:
2.String readLine():一次读取一行数据,但是不读取换行符
以上是关于IO流的主要内容,如果未能解决你的问题,请参考以下文章