A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

package com.heima.Exce;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

/*
需求:
把一个文本中的内容打印到控制台上和一个新的文本中。
分析:
把一个文本的内容打印到控制台上。
读文件:FileInputStreat(*);//*可以代表一个已经有具体数据的文件例如:"E:\\a.txt"也可以代表键盘的直接录入信息System.in
                 把读到的字节转换成字符;InputStreamReader(*);//*可以代表一个已经有具体数据的文件例如:"E:\\a.txt"也可以代表键盘的直接录入信息System.in
                高效的读取文件,用到BufferedReader.
      BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream(*)));
      BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
      

写文件:FileOutputStream(*);//*可以代表目的地:一个准备写入数据的文件;
             把要写字符转换成字节;OutputStreamWriter(*);//代表一个可以准备写入数据的文件;也可以代表直接打印在控制台上System.out
             高效的写入文件,用到BufferedWriter.
     BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(*)));
     BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(Systemo.out));

method_01();//把键盘录入的信息打印在控制台上
method_02();//把键盘录入的信息打印在一个文件中
method_03();//把一个已经写有数据的文件内容打印在控制台上
method_04();////把一个已有写入数据的文件内容,写入到一个新的文本当中(本方法对异常进行处理)----method_04()实现了文件的复制功能

处理以商整理的还以利用:
System.setIn();//更改读取数据源(把控制台上的内容或文本的内容读取出来)
System.serOut();//更改写入数据目的地(把读到的内容写到到一个文本中或控制台)
* */
public class TransStreamExce {

        public static void main(String[] args) throws IOException {
//                method_01();
//                method_02();
//                method_03();
                method_04();
               
        }
        //把键盘录入的信息打印在控制台上
    public static void method_01() throws IOException{
                BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
                BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
                
                String line = null;
              
                while((line= bufr.readLine())!=null){
                        bufw.write(line);
                        bufw.newLine();
                        bufw.flush();
                }
                bufw.close();
                bufr.close();
    }
    //把键盘录入的信息打印在一个文件中
    public static void method_02() throws IOException{
            BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
            BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E:\\abc.txt")));
           
            String line = null;
            while((line=bufr.readLine())!=null){
                    if(line.equals("over"))//当键盘录入的内容为over时,结束录入信息
                            break;
                    bufw.write(line);
                    bufw.newLine();
                    bufw.flush();
            }
        bufw.close();
        bufr.close();
    }
    //把一个已经写有数据的文件内容打印在控制台上
    public static void method_03() throws IOException{
            BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileInputStream("E:\\abc.txt")));
            BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
           
            String line = null;
            while((line=bufr.readLine())!=null){
                    bufw.write(line);
                    bufw.newLine();
                    bufw.flush();
            }
            bufw.close();
            bufr.close();
    }
    /******************method_04()实现了文件的复制功能*****************************************/
    //把一个已有写入数据的文件内容,写入到一个新的文本当中(本方法对异常进行处理)----method_04()实现了文件的复制功能
    public static void method_04(){
            BufferedReader bufr;
                try {
                        bufr = new BufferedReader(new InputStreamReader(new FileInputStream("E:\\abc.txt")));
                } catch (FileNotFoundException e) {
                       
                        throw new RuntimeException("读取文件失败!");
                }
            BufferedWriter bufw;
                try {
                        bufw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("E:\\abc01.txt")));
                } catch (FileNotFoundException e) {
                       
                        throw new RuntimeException("写入文件失败!");
                }
           
        String line = null;
        try {
                        while((line=bufr.readLine())!=null){
                                bufw.write(line);
                                bufw.newLine();
                                bufw.flush();
                        }
                } catch (IOException e) {
                       
                        throw new RuntimeException("写入文件失败!");
                }
        try {
                        bufw.close();
                } catch (IOException e) {
                       
                        throw new RuntimeException("写入文件关闭失败!");
                }
        try {
                        bufr.close();
                } catch (IOException e) {
                       
                        throw new RuntimeException("读取文件关闭失败!");
                }
    }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马