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)
网友评论