Java读写文件

来源:互联网 发布:it天空 编辑:程序博客网 时间:2024/06/05 07:44


Java写入文件:

  1. /** 
  2.      * FileWrite 适用于文件量少的写入,因为它是直接写入到文件的不会进行缓存。也是最简单的方式 
  3.      * BufferedWriter和FileWrite 有点相似,但是的话他是利用了缓存区来写入,降低了IO的操作,提高了很多的性能适用于大数据量的操作 
  4.      * FileOutputStream 的性能介于前两者之间 
  5.      */

FileWriter BufferedWriter FileoutputStream

1.FileWriter


import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class fileTest1 {public static void main(String[] args){File fe = new File("d:/t.txt");FileWriter fr = null;BufferedWriter bw = null;try {fr = new FileWriter(fe); bw = new BufferedWriter(fr);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {bw.write("aa");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}try {bw.flush();bw.close();fr.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


2. FileOutputStream

import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.Writer;public class output {  public static void main(String[] args) throws IOException{    File fr = new File("d:/z.txt");  try {  if(!fr.exists()){  fr.createNewFile();  }  FileOutputStream fus = new FileOutputStream(fr);OutputStreamWriter osw = new OutputStreamWriter(fus);BufferedWriter bw = new BufferedWriter(osw);for(int i = 0;i<=3;i++){bw.write("你好" + "\r\n");}bw.flush();bw.close();fus.close();} catch (FileNotFoundException e) {e.printStackTrace();}      }}







Java读取文件:

1.一次读入一行:

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;public class input {  public static void main(String[] args) throws IOException{  File fr = new File("d:/z.txt");    BufferedReader br = null;  try {FileInputStream fis = new FileInputStream(fr);InputStreamReader isd = new InputStreamReader(fis); br = new BufferedReader(isd);String temString = null;int line = 1;//一次读入一行,直到读入null为文件结束while((temString = br.readLine())!=null){    System.out.println("line" + line + ":" + temString);line++;}br.close();isd.close();fis.close();} catch (FileNotFoundException e) {e.printStackTrace();}    }}



不同方式读取文件:

http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html


FileReader 和FileWriter分别是InputStreamReader和outputStreamWriter的子类,他们的write和read方法其实是同一个方法。所以没有什么不一样。缓存的话可以考虑使用BufferedReader 和BufferedWriter 这个是带有缓存的封装。FileReader,FileWriter 是读字符的,1个字符是2个字节,16位。OutputStream ,InputStream是读字节的,1个字节是8位。要是读汉字,一个汉字是2个字节,用InputStream读就把汉字活生生的拆一半了,自己可以写程序验证下。字符流主要读文本比较效率。字节流主要读二进制文件,图片就是为了防止出现读取的单位放大,出现无法还原本程序的目的。


Java try catch


0 0
原创粉丝点击