IO流分为输入输出流,又分为字节流跟字符流。
字节流:
public static void inputOutputStreamTest() throws Exception {
FileInputStream fileIn = new FileInputStream("1.jpg");
BufferedInputStream bis = new BufferedInputStream(fileIn);
FileOutputStream fileOut = new FileOutputStream("2.jpg");
BufferedOutputStream bos = new BufferedOutputStream(fileOut);
int len = 0;
byte[] data = new byte[100];
while ((len = bis.read(data, 0, 100)) != -1) {
bos.write(data, 0, len);
bos.flush();
}
bos.close();
bis.close();
}
对象流(序列化、反序列化)
public static void serializableTest() {
ArrayList<Sequence> list = new ArrayList<>();
Sequence sq = new Sequence("Chris", 100, 10);
list.add(sq);
Sequence sq1 = new Sequence("James", 200, 11);
list.add(sq1);
try {
FileOutputStream fileout = new FileOutputStream("test.ser");
ObjectOutputStream out = new ObjectOutputStream(fileout);
out.writeObject(list);
out.close();
fileout.close();
} catch (Exception i) {
System.out.println(i.toString());
}
try {
FileInputStream filein = new FileInputStream("test.ser");
ObjectInputStream input = new ObjectInputStream(filein);
ArrayList<Sequence> temp = (ArrayList) input.readObject();
System.out.println(temp.toString());
input.close();
filein.close();
} catch (Exception i) {
System.out.println(i.toString());
}
}
字符流
public static void inputOutputReaderTest() throws Exception {
FileReader fileIn = new FileReader("fds.txt");
BufferedReader br = new BufferedReader(fileIn);
FileWriter fileOut = new FileWriter("jj.txt");
BufferedWriter bw = new BufferedWriter(fileOut);
char[] data = new char[1024];
int len;
String temp;
while ((temp = br.readLine()) != null) {
System.out.println(temp);
bw.write(temp, 0, temp.length());
bw.newLine();
bw.flush();
}
br.close();
bw.close();
}
打印流
public static void printStreamTest() throws Exception{
PrintWriter pw = new PrintWriter("jj.txt");
pw.println(90);
pw.println("jjjj");
pw.println(true);
pw.println(true);
pw.close();
}
转换流
public static void changStreamTest() throws Exception{
FileOutputStream fileOut = new FileOutputStream(new File("jjj.txt"));
OutputStreamWriter out = new OutputStreamWriter(fileOut, "GBK");
String data = "jfs中国加油";
out.write(data, 0, data.length());
out.close();
FileInputStream fileIn = new FileInputStream("jjj.txt");
InputStreamReader in = new InputStreamReader(fileIn, "GBK");
char[] data1 = new char[1024];
int len;
while((len = in.read(data1, 0, 1024)) != -1){
System.out.println(new String(data1, 0, len));
}
in.close();
}