java输出流关流疑问,以下这个程序的in和out是否要关闭?
/**标准IOjava.lang.System类中提供以下三个静态常量:staticfinalInputStreamin功能:“标准”输入流,流已打开并准备提供输入数据。...
/**
标准IO
java.lang.System类中提供以下三个静态常量:
static final InputStream in
功能:“标准”输入流,流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。
static final PrintStream out
功能:“标准”输出流,此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
static final PrimeStream err
功能:“标准”错误输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或者用户指定的另一个输出目标。
以上3种流都是java虚拟机在启动应用程序自动创建的。
static void setIn(InputStream in):对标准输入流重定向
static void setOut(PrintStream out):对标准输出流重定向
static void serErr(PrintStream err):对标准错误输出流重定向
*/
import java.io.*;
public class StandardIORedirect{
public static void main(String[] args)throws IOException{
PrintStream console = System.out;
BufferedInputStream in = new BufferedInputStream(new FileInputStream
("E:\\JavaPractice\\StandardIORedirect.java"));
PrintStream out = new PrintStream(new BufferedOutputStream(new FileOutputStream
("E:\\JavaPractice\\StandardIORedirect.txt")));
System.setIn(in); //对输出流重定向
System.setOut(out);
System.setErr(out);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s;
while((s=br.readLine())!=null){ //从BufferedReader类中读取一行数据
System.out.println(s);
}
out.close();
System.setOut(console);
}
}
in和out是否要关闭? 展开
标准IO
java.lang.System类中提供以下三个静态常量:
static final InputStream in
功能:“标准”输入流,流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。
static final PrintStream out
功能:“标准”输出流,此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
static final PrimeStream err
功能:“标准”错误输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或者用户指定的另一个输出目标。
以上3种流都是java虚拟机在启动应用程序自动创建的。
static void setIn(InputStream in):对标准输入流重定向
static void setOut(PrintStream out):对标准输出流重定向
static void serErr(PrintStream err):对标准错误输出流重定向
*/
import java.io.*;
public class StandardIORedirect{
public static void main(String[] args)throws IOException{
PrintStream console = System.out;
BufferedInputStream in = new BufferedInputStream(new FileInputStream
("E:\\JavaPractice\\StandardIORedirect.java"));
PrintStream out = new PrintStream(new BufferedOutputStream(new FileOutputStream
("E:\\JavaPractice\\StandardIORedirect.txt")));
System.setIn(in); //对输出流重定向
System.setOut(out);
System.setErr(out);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s;
while((s=br.readLine())!=null){ //从BufferedReader类中读取一行数据
System.out.println(s);
}
out.close();
System.setOut(console);
}
}
in和out是否要关闭? 展开
展开全部
当然要关闭啊。
追问
先关哪个?in,br,out?
追答
这个没有严格规定。只要保证可以正常关闭就好。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
in和out都需要关闭,当然也需要保证在异常的情况下也关闭
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好关闭,当然时间长了不用,java垃圾回收器也会给回收的。不过在回收前的这段时间就可能有性能问题,尤其硬件资源比较紧缺的时候
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询