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():写入一个换行符号
相关文章推荐
- Java杨枝笔记12.23/12.24
- Java作业杨枝11.25/11.26
- Java笔记杨枝11.4/11.5
- Java笔记杨枝12.3
- Java笔记杨枝11.26
- Java笔记杨枝12.2
- java笔记杨枝11.11/11.12
- 超全面的JavaWeb笔记day21<过滤器>
- java8新特性笔记
- 【java编程思想--学习笔记(二)】访问控制-Java访问权限修饰词
- java鬼混笔记:redis 3、java下使用redis,自定义一个工具类RedisUtil
- java新手笔记27 监听器类
- 【Java笔记】Thread
- java学习笔记day01
- java学习笔记day06---匿名内部类
- JAVA学习笔记 -- 数据结构
- 浪潮优派培训java笔记:第7章 String
- Java学习笔记(六)
- Java基础学习笔记
- Java for Web学习笔记(六一):Controller替代Servlet(3)body映射到参数