标准输入输出流一共分为三种:in、out、err。
in:
用于读取键盘输入的,数据为InputStream类型。in中有read()方法。
out:
默认将数据输出到命令行窗口,为PrintStream类型。
err:
将数据输出到控制台,为PrintStream类型。
package hanghao;
/*
* 从键盘读取一行数据并输出到控制台
*/
public class Hanghao {
public static void main(String args[]) throws Exception{
//定义字符容器
StringBuffer sb=new StringBuffer();
int ch;
//探测字符是否是换行符或回车符
while((ch=System.in.read())!=-1){
if(ch=='\r'||ch=='\n'){
break;
}
//将字符追加到字符容器
sb.append((char)ch);
}
System.out.println(sb);
}
}
设置文件读取数据的数据源位置,然后根据输出源的位置输出到文件
package hanghao;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintStream;
/*
* 从键盘读取一行数据并输出到控制台
*/
public class Hanghao {
public static void main(String args[]) throws Exception{
//重定向输入到文件
//该句的作用就设置输入是从文件输入。默认是从控制台输入
System.setIn(new FileInputStream("source.txt"));
//将输出定位到target.txt文件中
System.setOut(new PrintStream("target.txt"));
//System.in由控制台输入
BufferedReader br=new BufferedReader(new InputStreamReader
(System.in));
String line;
while((line=br.readLine())!=null){
System.out.println(line);
}
}
}