很多同学在用遇到输入输出流时都分不清什么时候用输入流,什么时候用输出流,这里分享一下我的方法,只需要记住四个字 “读入写出”,当你需要 “读” 数据的时候,就用 “输入流”,当你要 “写” 数据的时候,就用 ”输出流”。
接下来我们看一下输入流的处理:
字节流-》字符流-》字符缓冲流
package com.c.temp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
public class IOStream {
public static void main(String[] args) throws MalformedURLException {
URL baidu = new URL("https://www.baidu.com");
InputStream is = null;
InputStreamReader isr = null;
BufferedReader br = null;
try {
//字节流
is = baidu.openStream();
//转换成字符流
isr = new InputStreamReader(is);
//字符缓冲流缓冲流
br = new BufferedReader(isr);
String line = br.readLine();
while (line != null) {
System.out.println(line);
line = br.readLine();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
isr.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
下面是向文件中写数据
String ss = "dksfjksadjfasjdjfasjdjfklads";
OutputStream os = null;
try {
os = new BufferedOutputStream(new FileOutputStream("demo.txt"));
os.write(ss.getBytes());
} catch (Exception e) {
e.printStackTrace();
try {
os.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}