I/O 自我学习总结
总结
try {
//ObjectOutputStream与FileOutputStream都为OutputStream的子类,OutputStream为一个抽象类。
//左边为对象字节流,右边为文件字节流,write向右,read向左,out向右,in向左
//characterOne必须是一个可被序列化的对象,需要实现Serializable接口才可以
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("MyGame.ser"));
oos.writeObject(characterOne);
oos.close();
//ObjectInputStream与FileInputStream都为InputStream的子类,InputStream为一个抽象类。
//左边为对象字节流,右边为文件字节流,write向右,read向左,out向右,in向左
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("MyGame.ser"));
Object one = ois.readObject();
Object two = ois.readObject();
GameCharacter elf = (GameCharacter) one;
GameCharacter troll = (GameCharacter) two;
ois.close();
//FileWriter是OutputStreamWriter的子类,OutputStreamWriter是Writer的子类
//Writer代表是字符流,write、writer向右
FileWriter fw = new FileWriter("Foo.txt");
fw.write("Hello foo!");
fw.close();
//使用BufferedWriter和FileWriter链接,BufferedWriter可以暂存一堆数据,等满了再实际写入磁盘,减少对磁盘的操作
//Writer代表是字符流,write、writer向右
BufferedWriter bw = new BufferedWriter(new FileWriter(aFile));
bw.write("Hello foo");
bw.flush();
bw.close();
//Reader代表是字符流,readline、reader向右
BufferedReader br = new BufferedReader(new FileReader(aFile));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println(line);
String[] results = line.split("/");
}
br.close();
Socket chatSocket = new Socket("123.1.1.1", 5000);
//PrintWriter构造函数能跟得东西比较多,感觉比较实用
PrintWriter writer = new PrintWriter(chatSocket.getOutputStream());
writer.println("message to send");
writer.print("another message");
BufferedReader reader = new BufferedReader(new InputStreamReader(chatSocket.getInputStream()));
String message = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
构造函数
ObjectOutputStream
ObjectOutputStream(OutputStream out)FileOutputStream
FileOutputStream(String name)
FileOutputStream(String name, boolean append)
FileOutputStream(File file)
FileOutputStream(File file, boolean append)
FileOutputStream(FileDescriptor fdObj)FileWriter
FileWriter(String fileName)
FileWriter(String fileName, boolean append)
FileWriter(File file)
FileWriter(File file, boolean append)
FileWriter(FileDescriptor fd)BufferedWriter
BufferedWriter(Writer out)
BufferedWriter(Writer out, int sz)PrintWriter
PrintWriter(Writer out)
PrintWriter(Writer out, boolean autoFlush)
PrintWriter(OutputStream out)
PrintWriter(OutputStream out, boolean autoFlush)
PrintWriter(String fileName)
PrintWriter(String fileName, String csn)
PrintWriter(File file)
PrintWriter(File file, String csn)