1.读取文件
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.RandomAccessFile;
import java.io.Reader;
public class ReadFile {
public static void readByBufferedInputStream(String fileName) throws Exception {
File file = new File(fileName);
InputStream is = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(is);
int length = bis.available();
byte[] buffer = new byte[length];
bis.read(buffer, 0, length);
bis.close();
is.close();
System.out.println(new String(buffer));
}
public static void readByBufferedReader(String fileName) throws Exception {
File file = new File(fileName);
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
}
public static void readByDataInputStream(String fileName) throws Exception {
File file = new File(fileName);
DataInputStream dis = new DataInputStream(new FileInputStream(file));
int temp;
while ((temp = dis.read()) != -1) {
System.out.println((char) temp);
}
}
public static void readByFileInputStream(String fileName) throws Exception {
File file = new File(fileName);
InputStream is = new FileInputStream(file);
int temp;
while ((temp = is.read()) != -1) {
System.out.println((char) temp);
}
is.close();
}
public static void readByFileInputStream_Buffer(String fileName) throws Exception {
File file = new File(fileName);
InputStream is = new FileInputStream(file);
int temp;
byte[] buffer = new byte[1024];
while ((temp = is.read(buffer, 0, buffer.length)) != -1) {
System.out.write(buffer, 0, temp);
}
is.close();
}
public static void readByFileReader(String fileName) throws Exception {
File file = new File(fileName);
Reader reader = new FileReader(file);
int temp;
while ((temp = reader.read()) != -1) {
System.out.println((char) temp);
}
reader.close();
}
public static void readByFileReader_Buffer(String fileName) throws Exception {
File file = new File(fileName);
Reader reader = new FileReader(file);
int temp;
char[] buffer = new char[1024];
while ((temp = reader.read(buffer, 0, buffer.length)) != -1) {
if ((buffer.length == 0) && (buffer[buffer.length - 1] != '\r')) {
System.out.print(buffer);
} else {
for (int i = 0; i < temp; i++) {
if (buffer[i] == '\r') {
continue;
} else {
System.out.print(buffer[i]);
}
}
}
}
reader.close();
}
public static void readByInputStreamReader(String fileName) throws Exception {
File file = new File(fileName);
Reader reader = new InputStreamReader(new FileInputStream(file));
int temp;
while ((temp = reader.read()) != -1) {
System.out.println((char) temp);
}
reader.close();
}
public static void readByInputStreamReader_Buffer(String fileName) throws Exception {
File file = new File(fileName);
Reader reader = new InputStreamReader(new FileInputStream(file));
int temp = 0;
char[] buffer = new char[1024];
while ((temp = reader.read(buffer)) != -1) {
if ((buffer.length == 0) && (buffer[buffer.length - 1] != '\r')) {
System.out.print(buffer);
} else {
for (int i = 0; i < temp; i++) {
if (buffer[i] == '\r') {
continue;
} else {
System.out.print(buffer[i]);
}
}
}
}
reader.close();
}
public static void readByLineNumberReader(String fileName) throws Exception {
File file = new File(fileName);
Reader reader = new FileReader(file);
LineNumberReader lnr = new LineNumberReader(reader);
String line = null;
while ((line = lnr.readLine()) != null) {
System.out.println(lnr.getLineNumber() + " " + line);
}
}
public static void readByRandomAccessFile(String fileName) throws Exception {
File file = new File(fileName);
RandomAccessFile raf = new RandomAccessFile(file, "rw");
long fileLen = raf.length();
int begin = (fileLen > 4) ? 4 : 0;
raf.seek(begin);
byte[] buffer = new byte[1024];
int temp = 0;
while ((temp = raf.read(buffer)) != -1) {
System.out.write(buffer, 0, temp);
}
}
}
2.写入文件
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
public class WriteFile {
public static void wirteByPrintWriter(String fileName, String content) throws Exception {
File file = new File(fileName);
PrintWriter pw = new PrintWriter(file);
pw.write(content, 0, content.length());
pw.flush();
pw.close();
}
public static void writeByBufferedWriter(String fileName, String content) throws Exception {
File file = new File(fileName);
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.newLine();
bw.close();
fw.close();
}
public static void writeByFileWriter(String fileName, String content) throws Exception {
FileWriter fw = new FileWriter(new File(fileName));
fw.write(content, 0, content.length());
fw.flush();
fw.close();
}
public static void writeByOutputStreamWriter(String fileName, String content) throws Exception {
File file = new File(fileName);
FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fos);
osw.write(content, 0, content.length());
osw.flush();
osw.close();
fos.close();
}
}