例:计算文本中数字个数,所有数 和的平均数,数字总和
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可以直接写出很多类型
}
}