您的位置:首页 > 其它

Io流字节字符流九种方式读取和写入总结!

2017-04-03 00:00 375 查看
摘要: 字节流4种方式读取和写入,字符流5种

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

//复制文本文件a--b
public class Demo1 {
public static void main(String[] args) {
method1();// 普通字节流 /单个字节复制写入
method2();// 普通字节流 /字节数组方式复制写入
method3();// 高效字节流/单字节方式复制写入
method4();// 高效字节流/字节数组方式复制写入
method5();// 普通字符流/单字符方式复制写入
method6();// 普通字符流/字符数组方式复制写入
method7();// 高效字符流/单字符方式复制写入
method8();// 高效字符流/字符数组方式复制写入
method9();// 高效字符流/特殊方式复制写入
}

private static void method9() {
// 高效字符流/特殊方式复制写入
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader("a.txt"));
bw = new BufferedWriter(new FileWriter("b.txt"));
String s = null;
while ((s = br.readLine()) != null) {
bw.write(s);
bw.newLine();
bw.flush();
}
br.close();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}

}

private static void method8() {
// 高效字符流/字符数组方式复制写入
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader("a.txt"));
bw = new BufferedWriter(new FileWriter("b.txt"));

char[] ch = new char[1024];
int n = 0;
while ((n = br.read(ch)) != -1) {
bw.write(ch, 0, n);
bw.flush();
}
bw.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}

private static void method7() {
// 高效字符流/单字符方式复制写入
BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader("a.txt"));
bw = new BufferedWriter(new FileWriter("b.txt"));
int n = 0;
while ((n = br.read()) != -1) {
bw.write(n);
bw.flush();
}
bw.close();
br.close();
} catch (IOException e) {
e.printStackTrace();
}

}

private static void method6() {
// 普通字符流/字符数组方式复制写入
FileReader fr = null;
FileWriter fw = null;
try {
fr = new FileReader("a.txt");
fw = new FileWriter("b.txt");
char[] ch = new char[1024];
int len = 0;
while ((len = fr.read(ch)) != -1) {
fw.write(ch, 0, len);
fw.flush();
}
fr.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}

}

private static void method5() {
// 普通字符流/单字符方式复制写入
FileReader fr = null;
FileWriter fw = null;
try {
fr = new FileReader("a.txt");
fw = new FileWriter("b.txt");
int n = 0;
while ((n = fr.read()) != -1) {
fw.write(n);
fw.flush();
}
fr.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}

}

private static void method4() {
// 高效字节流/字节数组方式复制写入
BufferedInputStream bi = null;
BufferedOutputStream bo = null;
try {
bo = new BufferedOutputStream(new FileOutputStream("b.txt"));
bi = new BufferedInputStream(new FileInputStream("a.txt"));
byte[] by = new byte[1024];
int len = 0;
while ((len = bi.read(by)) != -1) {
bo.write(by, 0, len);
bo.flush();
}
bi.close();
bo.close();
} catch (IOException e) {
e.printStackTrace();
}

}

private static void method3() {
// 高效字节流/单字节方式复制写入
BufferedInputStream bi = null;
BufferedOutputStream bo = null;
try {
bi = new BufferedInputStream(new FileInputStream("a.txt"));
bo = new BufferedOutputStream(new FileOutputStream("b.txt"));
int n = 0;
while ((n = bi.read()) != -1) {
bo.write(n);
bo.flush();
}
bi.close();
bo.close();
} catch (IOException e) {
e.printStackTrace();
}
}

private static void method2() {
// 普通字节流 /字节数组方式复制写入
FileInputStream fi = null;
FileOutputStream fo = null;
try {
fi = new FileInputStream("a.txt");
fo = new FileOutputStream("b.txt");
byte[] by = new byte[1024];
int len = 0;
while ((len = fi.read(by)) != -1) {
fo.write(by, 0, len);
fo.flush();
}
fi.close();
fo.close();
} catch (IOException e) {
e.printStackTrace();
}

}

private static void method1() {
// 普通字节流 /单个字节复制写入
FileInputStream fi = null;
FileOutputStream fo = null;
try {
fi = new FileInputStream("a.txt");
fo = new FileOutputStream("b.txt");
int n = 0;
while ((n = fi.read()) != -1) {
fo.write(n);
fo.flush();
}
fi.close();
fo.close();
} catch (IOException e) {
e.printStackTrace();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: