黑马程序员-IO流中的字符流
来源:互联网 发布:下载动画的软件 编辑:程序博客网 时间:2024/05/17 03:04
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
IO流是用来处理设备之间的数据传输
JAVA对数据的操作是通过流的方式
JAVA用于操作流的对象都在IO包中流按操作数据分为两种:字节流和字符流
字符流的抽象基类:Reader,Writer。
字符流的特点:
既然IO流是用于操作数据的。
那么数据的最常见体现形式是:文件,即FileReader和FileWriter
用于操作文件的子类对象FileWriter,该对象一被初始化就必须要有对象存在,构造函数不为空。
读取方式一:字符读取
<span style="font-size:18px;">import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class IOReaderTest {public static void main(String[] args){FileReader fr1 = null;int ch=0;//同过字符读取数据try {fr1=new FileReader("c:\\demo.txt");while((ch=fr1.read())!=-1)//如果没有读到数据末尾标记,则循环继续{System.out.println((char)ch);}}catch (Exception e) {System.out.println("文件不存在");}finally{try{if(fr1!=null)fr1.close();//如果文件存在,关闭流}catch(Exception ex){System.out.println(ex.toString());}}}</span><span style="font-size: 14px;">}</span>
读取方式二:字符数组读取
<span style="font-size:18px;">import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class IOReaderTest {public static void main(String[] args){FileReader fr2 = null;char[] ch=new char[1024];//通过字符数组缓冲区读取数据int num =0;//定义一个标记try {fr2=new FileReader("c:\\demo.txt");while((num=fr2.read(ch))!=-1)//如果没有读到数据末尾标记,则循环继续{System.out.println(new String(ch,0,num));//传建一个字符串对象存储读取的字符}}catch (Exception e) {System.out.println("文件不存在");}finally{try{if(fr2!=null)fr2.close();//如果文件存在,关闭流}catch(Exception ex){System.out.println(ex.toString());}}}}</span>
字符流的缓冲区
缓冲区的出现提高了对数据的读写效率
对应类:BufferedReader和BufferedWriter
在创建缓冲区之前,必须要先有流对象。
FileWriter fw=new FileWriter("buf.txt");
为了提高字符写入流效率,加入了缓冲技术。
读取
<span style="font-size:18px;">import java.io.BufferedReader;</span>
<span style="font-size:18px;">import java.io.FileNotFoundException;</span>
<span style="font-size:18px;">import java.io.FileReader;public class BufferReaderDemo {public static void main(String[] args) {FileReader fr = null;BufferedReader bufr = null;//创建null缓冲区 try {fr = new FileReader("c:\\demo.txt");//关联文件bufr = new BufferedReader(fr);//字符流缓冲区关联流对象,提高效率String line = null;while((line=bufr.readLine())!=null)//判断缓冲区是否为空{System.out.println(line);//将读取到的数据打印在控制台上}} catch (Exception e) {System.out.println("文件不存在");}finally{try{if(fr!=null)fr.close();//关闭文件读取流对象if(bufr!=null)bufr.close();//关闭缓冲区}catch(Exception ex){System.out.println(ex.toString());}}}}</span><span style="font-size:24px;"></span>
<span style="font-size:18px;">import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;public class BufferReaderDemo {public static void main(String[] args) {FileReader fr = null;//文件读取流FileWriter fw = null;//文件写入流BufferedReader bufr = null;//创建null字符串输入流缓冲区 BufferedWriter bufw = null;//创建null字符串输出流缓冲区 try {fr = new FileReader("c:\\demo.txt");//关联文件fw = new FileWriter("c:\\demo1.txt",true);//设置为true只续写而不覆盖文件bufr = new BufferedReader(fr);//字符流缓冲区关联流对象,提高效率bufw = new BufferedWriter(fw);String line = null;while((line=bufr.readLine())!=null)//判断缓冲区是否为空{//System.out.println(line);//将读取到的数据打印在控制台上bufw.write(line);bufw.newLine();//每写入一行,开始新的一行,相当于回车bufw.flush();//将写入的数据实时刷新}} catch (Exception e) {System.out.println("文件不存在");}finally{try{if(fr!=null)fr.close();//关闭文件读取流对象if(bufr!=null)bufr.close();//关闭缓冲区if(bufw!=null)bufw.close();}catch(Exception ex){System.out.println(ex.toString());}}}}</span>
0 0
- 黑马程序员-IO流中的字符流
- 黑马程序员java 基础之io流中的字符流
- 黑马程序员 io中的字符流(毕向东)
- 黑马程序员:IO流之字符流
- 黑马程序员 IO流-->字符流
- 黑马程序员-IO流之字符流
- 黑马程序员-------IO流(字符流)
- 黑马程序员--IO流01--字符流
- 黑马程序员--IO流之字符流
- 黑马程序员-day18-IO流(字符流)
- 黑马程序员;IO流之字符流
- 黑马程序员--IO流之字符流
- 黑马程序员:IO流之字符流
- 黑马程序员---IO流-字符流
- 黑马程序员--IO流之字符流
- 黑马程序员-java基础 io字符流
- 黑马程序员--IO之字符流
- 54.黑马程序员-IO流-字符编码
- 如何把pdf转换成excel转换器免费使用
- Codeforces Round #259 (Div. 2)-C. Little Pony and Expected Maximum
- CoreData学习记录
- struct list_head 解析
- 大数乘法(错于2*LEN-1)
- 黑马程序员-IO流中的字符流
- C 语言04
- POJ 2398 Toy Storage(叉积)
- Hibernate中各个JAR包的用途
- 本地存储方式比较
- LeetCode-Pascal's Triangle II
- Surrounded Regions & Wildcard Matching
- 肯德基房管科谁都会发可三
- 范甘迪粉红丝带吃饭个三的发个南非共和