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);
readFileByOneBytes(inFile, outFile);
readFileByMultiBytes(inFile, outFile);
readFileByChar(inFile, outFile);
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("按行读写文件内容完成!");
}
}