muyl
11/5/2017 - 2:23 PM

java 读文件的几种方法

java 读文件的几种方法

public static void main(String[] args) {
        /**
         * 使用字符缓冲输入流和字符缓冲输出流实现文件的复制
         * 1.打开文件
         * 2.设置字符集
         * 3.进行读写操作
         * 4.关闭流
         */
        try {
            long begin=System.currentTimeMillis();
            //打开源文件
            FileInputStream fis=new FileInputStream("pwSrc.txt");
            //设置字符集
            InputStreamReader isr=new InputStreamReader(fis, "UTF-8");
            //从源文件读入数据
            BufferedReader br=new BufferedReader(isr);


            //打开目标文件
            FileOutputStream fos=new FileOutputStream("pwDest.txt");
            //设置字符集
            OutputStreamWriter osw=new OutputStreamWriter(fos, "UTF-8");
            //写入数据到目标文件
            PrintWriter pw=new PrintWriter(osw, true);

            int size=0;
            char[] buffer=new char[10240];
            while((size=br.read(buffer, 0, buffer.length))!=-1){
                pw.write(buffer, 0, size);
            }
            br.close();
            pw.close();
            long end=System.currentTimeMillis();
            System.out.println("使用字符缓冲输入流实现文件的复制完毕!耗时:"+(end-begin)+"毫秒");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
public static void main(String[] args) {
        try {
            /**
             * 逐个字符的读取
             */
            FileInputStream fis=new FileInputStream("pw.txt");
            InputStreamReader isr=new InputStreamReader(fis, "UTF-8");
            BufferedReader br=new BufferedReader(isr);
            int size=0;
            while((size=br.read())!=-1){
                char content=(char)size;
                System.out.println(content);
            }

            /**
             * 整行读取
             */
            FileInputStream fis1=new FileInputStream("pw.txt");
            InputStreamReader isr1=new InputStreamReader(fis1, "UTF-8");
            BufferedReader br1=new BufferedReader(isr1);
            String isNull=null;
            /**
             * public String readLine()
             * 该方法的返回值如果为null,则说明已经读到文件的末尾了
             */
            while((isNull=br1.readLine())!=null){
                System.out.println(isNull);
            }
            br.close();
            br1.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
public static void main(String[] args) {
        try {
            //打开文件
            FileOutputStream fos=new FileOutputStream("pw.txt");
            //设置编码集
            OutputStreamWriter osw=new OutputStreamWriter(fos,"UTF-8");
            //将字符输出流包装为字符缓冲输出流
            BufferedWriter bw=new BufferedWriter(osw);
            bw.write("BW测试文字");
            bw.append("BWBWBWBWBW");
            bw.flush();
            bw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
public class BufferRead {
  public static void main(String[] args) throws IOException {  
        FileReader fr = new FileReader("d:ss.txt");  
        char[] buf = new char[1024];  
        int num;  
        while ((num = fr.read(buf)) != -1) {  
            System.out.print(new String(buf, 0, num));  
        }  
        fr.close();  
    }  
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

/**
 * @author muyunlong
 * @version 1.0
 * @Date: 2017/11/5 下午10:24
 */
public class BufferRead {
    public void bufferdReader() {
        File file = new File("D:\\tempTest\\xml\\5008.xml");
        try (BufferedReader buffReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"))) {
            String str = "";
            while ((str = buffReader.readLine()) != null) {
                System.out.println(str);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}