Java笔记杨枝11.25
来源:互联网 发布:暖手宝推荐知乎 编辑:程序博客网 时间:2024/04/29 09:17
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笔记杨枝11.25
- Java笔记杨枝11.26
- Java笔记杨枝12.2
- Java笔记杨枝12.3
- Java笔记杨枝11.4/11.5
- java笔记杨枝11.11/11.12
- java笔记
- JAVA笔记
- java笔记
- java笔记
- JAVA笔记
- java笔记
- Java 笔记
- java笔记
- java 笔记
- java笔记
- java笔记
- java笔记
- tomcat配置https的方法以及带有证书请求的实例
- DOM1级问题与DOM2级事件
- Android 自定义Dialog实现步骤及封装
- 【鸟哥的Linux私房菜】认识和学习BASH
- Maven 问题,一启动Eclipse之后,Maven更新自动开始,解决。updating maven dependencies
- Java笔记杨枝11.25
- URAL 1277 Cops and Thieves 最小割
- Servlet封装BaseServlet
- Chrome辅助框架CPU占用过多的解决办法
- 【maven】 改变jdk 版本
- spring boot实战(第二篇)事件监听
- 「CodePlus 2017 11 月赛」可做题
- Redux 状态管理2
- “雪人计划”在全球架设IPv6根服务器 中国部署4台