输入和输出--重定向标准输入和输出

  • 重定向标准输入和输出

Java的标准输入和输出分别通过system.in和system.out来代表,默认情况下他们分别代表键盘和显示器。

在system类中提供了3个重定向标准输入和输出的方法:

setErr(PrintStream err)           重新分配“标准”错误输出流。

setIn(InputStream in)              重新分配“标准”输入流。

setOut(PrintStream out)         重新分配“标准”输出流。

当然我们可以自己来写程序,修改我们应用程序的输入和输出。比如说现在不希望标准输出到显示器上,而是我自己的一个文件里面,或者是说我现在不需要从键盘上来录入内容,而是读我本地的一个文本。

具体的代码如下:

import java.io.FileOutputStream;
import java.io.PrintStream;

/**
 *
 * @version 1L
 * @author LinkinPark
 * @since 2014-12-30
 * @motto 梦似烟花心似水,同学少年不言情
 * @desc ^重定向标准输出流,讲system.out输出到指定的文件,而不是显示器上。
 */
public class Linkin
{

	public static void main(String[] args)
	{
		PrintStream ps = null;
		try
		{
			ps = new PrintStream(new FileOutputStream("src/LinkinPark..."));
			System.setOut(ps);
			System.out.println("这里重定向了标准输出。。。");
			System.out.println(new Linkin());
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			if (ps != null)
			{
				ps.close();
			}
		}
	}
}
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Scanner;

/**
 *
 * @version 1L
 * @author LinkinPark
 * @since 2014-12-30
 * @motto 梦似烟花心似水,同学少年不言情
 * @desc ^重定向标准输入流,将system.in重定向到指定的文件,而不是键盘输入了
 */
public class Linkin
{

	public static void main(String[] args)
	{
		FileInputStream fis = null;
		try
		{
			fis = new FileInputStream("src/LinkinPark...");
			System.setIn(fis);
			//使用system.in创建Scanner对象,用来获取标准输入
			Scanner sc = new Scanner(System.in);
			sc.useDelimiter("\n");//增加分隔符
			while (sc.hasNext())
			{
				System.out.println("指定的文件里面输入的内容是:" + sc.next());
			}
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			if (fis != null)
			{
				try
				{
					//这里也要捕获异常的,有点恶心的
					fis.close();
				}
				catch (IOException e)
				{
					e.printStackTrace();
				}
			}
		}
	}
}
时间: 2024-08-06 11:42:51

输入和输出--重定向标准输入和输出的相关文章

Java 输入/输出——重定向标准输入/输出

在System类中提供了如下三个重定向标准输入/输出方法. static void setErr?(PrintStream err) Reassigns the "standard" error output stream.(重定向"标准"错误输出流) static void setIn?(InputStream in) Reassigns the "standard" input stream.(重定向"标准"输入流) st

C语言学习007:重定向标准输入和输出

先来完成一个将输入数据转换成json格式输出的小任务 1 #include <stdio.h> 2 3 int main(){ 4 float latitude; 5 float longtitude; 6 char info[80]; 7 int started=0; 8 puts("data["); 9 while(scanf("%f,%f,%79[^\n]",&latitude,&longtitude,info)==3){ 10 i

Java代码工具箱之控制台输出重定向_控制台输出到文件

1. 情形:有时候控制台输出太多,在MyEclipse显示不全. 2. 说明:本代码只会重定向 system.out 的内容, error及其它不受代码影响.其它应该类似. 1 //自定导入必要库 2 //然后往 Main 的 最开始一塞即可 3 //文件是否会自动新建,未测试 4 5 try { 6 System.setOut(new PrintStream(new FileOutputStream("D:\\systemOut.txt"))); 7 } catch (FileNot

输出重定向

1 关于标准输入和输出 键盘 0 标准输入 显示屏 1 标准输出 显示屏    2 标准错误输出 2 输出重定向 1)标准输出重定向 命令 >  文件 以覆盖的方式将命令的正确输出输入到指定文件或者设备中 命令 >>  文件   以追加的方式将正确命令输出到指定的文件或者系统中 2)标准错误输出重定向 错误命令 2>文件 以覆盖的方式错误命令输出到指定文件或者设备中 错误命令 2>文件 以追加的方式将错误的命令输出到指定的文件或者系统中 注意:标准错误输出重定向中  2>

java输出重定向

Java的标准输入,输出分别是通过System.in和System.out来代表.默认情况下他们分别代表键盘和显示器. System类里提供了3个重定向标准输入,输出的方法. static void setErr(PrintStream err):重定向"标准"错误输出流. static void setIn(InputStream in):重定向"标准"输入流 static void setOut(PrintStream out):重定向"标准"

标准输入输出,输出重定向

标准输入输出: 输出重定向: 正确输出和错误输出同时保存:  命令 &>/dev/null 这条指令把正确输出写入文件中,错误输出丢入黑洞 解释: 放在>后面的&,表示重定向的目标不是一个文件,而是一个文件描述符,内置的文件描述符如下 1 => stdout 2 => stderr 0 => stdin 换言之 2>1 代表将stderr重定向到当前路径下文件名为1的regular file中,而2>&1代表将stderr重定向到文件描述符

输出重定向和多命令顺序执行(记录日志)

1.输出重定向         把应该输出到屏幕的输出,重定向到文件.(即把输出的内容写入文件,而不显示到屏幕上) >      覆盖 >>    追加 ls    >     aa        覆盖到aa(例1) ls    >>   aa        追加到aa(例2) ls    gdlslga    2>>aa            错误信息输出到aa        强调:错误输出,不能有空格(2>>) 2    错误信息(系统犯二了

C/C++-标准输入/输出重定向为文件输入/输出

/* Time: 2017-02-22 11:11:15 Describe: C++程序将标准输入/输出重定向为文件输入/输出. */ #include <iostream> #include <fstream> #include <string> using namespace std; void f() { string line; while(getline(cin, line)) //input from the file in.txt { cout <&

重定向标准输入/输出

Java的标准输入/输出分别通过System.in和System.out来代表,默认情况下它们分别代表键盘和显示器,当程序通过System.in来获取输入时,实际上是从键盘读取输入,当程序试图通过System.out执行输出时,程序总是输出到屏幕 System类里提供三个重定向标准输入/输出的方法: static void setErr(PrintStream err):重定向"标准"错误输出流 static void setIn(InputStream in):重定向"标准