设置标准输出流,输入重定向简单示例

例:计算文本中数字个数,所有数 和的平均数,数字总和


package test;


import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;


public class Test2 {
public static void main(String[] args) throws IOException {
//设置标准输出流
//输入重定向
new Scanner(System.in);
System.out.println();//out标准输出流   输出在屏幕  调用out.println方法
//重新分配输入流
FileInputStream in=new FileInputStream("e://a.txt");
System.setIn(in);//返回的是一个InputStream类型

//读取文件的一行   需要的是BufferedReader类的 方法   而这个类需要传一个Reader类型
//InputStreamReader  可以将一个字节流 转换为字符流 InputStreamReader父类是Reader
//InputStream  的 父类是object     reader的父类是object
InputStreamReader in2=new InputStreamReader(in);
BufferedReader br=new BufferedReader(in2);
//System.out.println(br.readLine());


int sum=0;
int count=0;
String line=br.readLine();//读取文本一行
while(!line.equals("over")){//当读取到一行字符串为"over"时循环结束 

count++;//计算文本数字个数
sum+=Integer.valueOf(line);// 返回保存指定的 String 的值的 Integer 对象。Integer引用整性
line=br.readLine();

}
  System.out.println(sum/count);//打印平均数
  System.out.println(sum);//打印所有数字和
  System.out.println(count);//打印数字个数
}

}


重定向输出流  将字符串写入a.txt中

import java.io.FileNotFoundException;
import java.io.OutputStream;
import java.io.PrintStream;


public class Test3 {


public static void main(String[] args) throws FileNotFoundException {
//重定向标准输出流 

PrintStream out =new PrintStream("e://a.txt");
System.setOut(out);
System.out.println("asf");//写入到e://a.txt文件中
//println可以直接写出很多类型   
}

}


猜你喜欢

转载自blog.csdn.net/yuanboqi/article/details/80209618