Java 中读写文件内容常见的几种方法

来源:互联网 发布:嫁入豪门后的生活知乎 编辑:程序博客网 时间:2024/05/22 07:40

Java 中读写文件内容常见的几种方法

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.Reader;import java.io.Writer;/** * 文件读写方法: * 1.按字节读写文件内容 * 2.按字符读写文件内容 * 3.按行读写文件内容 * @author Administrator * @date 2016-02-23 */public class test2 {    public static void main(String[] args) throws IOException {        String inPath = "G:/test/test.txt";        String outPath = "G:/test/test_result.txt";         File inFile = new File(inPath);        File outFile = new File(outPath);        //1.按字节读写文件        readFileByOneBytes(inFile, outFile);        readFileByMultiBytes(inFile, outFile);        //2.按字符读写文件        readFileByChar(inFile, outFile);        //3.按行读写文件        readFileByLine(inFile, outFile);    }    public static void readFileByOneBytes(File inFile,File outFile) throws IOException{        FileInputStream in = new FileInputStream(inFile);        FileOutputStream out = new FileOutputStream(outFile);        int temp;        while((temp = in.read())!=-1){            out.write(temp);            out.flush();        }        out.close();        in.close();        System.out.println("按单个字节读写文件内容完成!");    }    public static void readFileByMultiBytes(File inFile,File outFile) throws IOException{        FileInputStream in = new FileInputStream(inFile);        FileOutputStream out = new FileOutputStream(outFile);        byte[] tempByte= new byte[100];        int temp;        while((temp = in.read())!=-1){            out.write(tempByte, 0, temp);            out.flush();        }        out.close();        in.close();        System.out.println("按多字节读写文件内容完成!");    }    public static void readFileByChar(File inFile,File outFile) throws IOException{        Reader reader = null;        Writer writer = null;        reader = new InputStreamReader(new FileInputStream(inFile),"utf-8");        writer = new OutputStreamWriter(new FileOutputStream(outFile),"utf-8");        int temp;        char[] tmpChar = new char[1024];        while((temp = reader.read(tmpChar))!=-1){            writer.write(tmpChar, 0, temp);            writer.flush();        }        writer.close();        reader.close();        System.out.println("按字节读写文件内容完成!");    }    public static void readFileByLine(File inFile,File outFile) throws IOException{        BufferedReader reader = null;        BufferedWriter writer = null;        reader = new BufferedReader(new FileReader(inFile));        writer = new BufferedWriter(new FileWriter(outFile));        String line = null;        while((line = reader.readLine())!=null){            writer.write(line+"\n");            writer.flush();        }        writer.close();        reader.close();        System.out.println("按行读写文件内容完成!");    }}
0 0
原创粉丝点击