初学Java,IO之重定向标准输入\输出(四十五)

news/2024/7/4 1:32:00 标签: java, io, import, null, string, class
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views">

重定向标准输入/输出一共有三个方法

setErr 重定向“标准”错误输出流

setIn  重定向“标准”输入流

setOut 重定向"标准"输出流

下面使用重定向输出流把System.out输出重定向为向文件输出,而不是在屏幕上输出

class="language-class="tags" href="/tags/JAVA.html" title=java>java">class="tags" href="/tags/IMPORT.html" title=import>import class="tags" href="/tags/JAVA.html" title=java>java.class="tags" href="/tags/IO.html" title=io>io.*;
public class  RedirectOut
{
	public static void main(String[] args) 
	{
	    PrintStream ps = class="tags" href="/tags/NULL.html" title=null>null;
	    try
	    {
			//一次创建PrintStream输出流
			ps = new PrintStream(new FileOutputStream("out.txt"));
			//将标准输出重定向到ps输出流
			System.setOut(ps);
			//向标准输出一个字符串
			System.out.println("普通字符串");
			//向标准输出输出一个对象
			System.out.println(new RedirectOut());
	    }
	    catch (IOExceptclass="tags" href="/tags/IO.html" title=io>ion ex)
	    {
			ex.printStackTrace();
	    }
		finally
		{
			if(ps != class="tags" href="/tags/NULL.html" title=null>null)
			{
				ps.close();
			}
		}
	}
}
下面的System.in输入被重定向,本来是使用键盘输入为标准输入,而使用重定向后,则是使用RedirectIn.class="tags" href="/tags/JAVA.html" title=java>java文件作为标准输入源

class="language-class="tags" href="/tags/JAVA.html" title=java>java">class="tags" href="/tags/IMPORT.html" title=import>import class="tags" href="/tags/JAVA.html" title=java>java.class="tags" href="/tags/IO.html" title=io>io.*;
class="tags" href="/tags/IMPORT.html" title=import>import class="tags" href="/tags/JAVA.html" title=java>java.util.Scanner;
public class  RedirectIn
{
	public static void main(String[] args) 
	{
		FileInputStream fis = class="tags" href="/tags/NULL.html" title=null>null;
	    try
	    {
			//一次创建PrintStream输出流
			fis = new FileInputStream("RedirectIn.class="tags" href="/tags/JAVA.html" title=java>java");
			//将标准输出重定向到pis输入流
			System.setIn(fis);
			//使用System.in创建Scanner对象,用于获取标准输入
			Scanner sc = new Scanner(System.in);
			//增加下面一行将只把回车作为分隔符
			sc.useDelimiter("\n");
			//判断是否还有下一个输入项
			while(sc.hasNext())
			{
				//输出输入项
				System.out.println("键盘输入的内容是:" + sc.next());
			}
	    }
	    catch (IOExceptclass="tags" href="/tags/IO.html" title=io>ion ex)
	    {
			ex.printStackTrace();
	    }
		finally
		{
			if(fis != class="tags" href="/tags/NULL.html" title=null>null)
			{
				try
				{
					fis.close();
				}
				catch (IOExceptclass="tags" href="/tags/IO.html" title=io>ion ex)
				{
					ex.printStackTrace();
				}
			}
		}
	}
}




http://www.niftyadmin.cn/n/1411457.html

相关文章

Lua学习笔记7:时间和日期

lua中的时间类似于C语言中的时间&#xff0c;例如以下&#xff1a;local time os.time() print(time)local t os.date("*t") for k,v in pairs(t) do <span style"white-space:pre"> </span>print(k,v) end这样就能够分别输出年、月、日、时…

初学Android,Hello World 第一个Android程序(一)

在客户的"突然袭击"下&#xff0c;我只好放下Java的学习计划&#xff0c;直接来学Android了&#xff0c;虽然这样不是很好的学习顺序&#xff0c;但实际情况往往快过计划&#xff0c;any way&#xff0c;这样也没关系&#xff0c;相信我能应付得来 下面是学习写的第一…

CSS3核心知识

CSS3作为面试中的一个重要模块&#xff0c;个人认为&#xff0c;应该把它梳理和总结出来&#xff1a; 经过自己的查阅资料&#xff0c;结合项目实战&#xff0c;我认为CSS3中有这么几个重点模块需要重视&#xff1a;弹性盒子、媒体查询、2D3D转换、过渡、动画等等。 1、弹性盒…

用户注册邮箱验证逻辑

1、数据库增加两个字段&#xff1a;一个存验证码&#xff0c;一个存验证状态 2、用户注册后给邮箱发邮件&#xff0c;地址上带上验证码参数 3、用户点击地址&#xff0c;通过地址获取到验证码&#xff0c;拿这个验证码到数据库查找是否存在 4、如不存在验证失败&#xff0c;如果…

Eclipse 3.7(代号Indigo) 中文字体太小解决办法

原文链接http://hi.baidu.com/lovearuis/blog/item/2316fd129caccd1b5aaf53b0.html升级到3.7Eclipse最直观的反映就是&#xff0c;中文怎么那么小啊………… 相当不方便。其实这是Eclipse的默认字体换了&#xff0c;以前的一直是Courier New&#xff0c;现在修改字体也找不到了…

vuex的简单使用

1、vuex是干什么的&#xff1f; 学习任何东西&#xff0c;必然绕不过去的一个话题&#xff0c;就是我们为什么要使用它&#xff0c;它解决了什么问题&#xff1f; vuex是基于vue框架的一个状态管理库。可以管理复杂应用的数据状态&#xff0c;比如兄弟组件的通信、多层嵌套的…

Thread.setDaemon详解

2019独角兽企业重金招聘Python工程师标准>>> java中线程分为两种类型&#xff1a;用户线程和守护线程。通过Thread.setDaemon(false)设置为用户线程&#xff1b;通过Thread.setDaemon(true)设置为守护线程。如果不设置次属性&#xff0c;默认为用户线程。 用户线程和…

初学Android,Android的项目结构(二)

接着上一篇的说&#xff0c;一个Android项目通常是什么结构呢,大概是这样\MyProject \src \com\mycompany\android\my-root-package \com\mycompany\android\my-root-package\another-package \gen \com\mycompany\android\my-root-package\R.java \assets \res \AndroidManif…