写在前面
这里对于io流不详细写,只写一个简单的文件读写,不至于这么麻烦的代码
写
说明
以下代码就是把System.out.println打印的写入到ps路径文件中。
public class Main {
public static void main(String[] args) throws FileNotFoundException {
PrintStream ps = new PrintStream("e:/test.txt");
PrintStream out = System.out;
System.setOut(ps);
System.out.println("这是一个测试!");
System.out.println("这是测试的第二个");
System.setOut(out);
System.out.println("猜猜我会出现在哪");
}
}
- 1.PrintStream ps = new PrintStream(“e:/log.txt”); //新建一个打印对象
System.setOut(ps); //重定项屏幕输出到ps对象中 - 2.PrintStream out = System.out;
System.setOut(out); //显然这里又定位到屏幕输出System.out.println
注意点
但是像下面这样这样却不能定位到屏幕
我们看到,"这是测试的第二个"
没有出现在屏幕上,所以要注意这种写法。
读
一行一行的读取文件
public static void main(String[] args) throws IOException {
File file = new File("e:/test.txt");//Text文件
//构造一个BufferedReader类来读取文件
BufferedReader br = new BufferedReader(new FileReader(file));
String s = null;
while((s = br.readLine())!=null){//使用readLine方法,一次读一行
System.out.println(s);
}
br.close();
}
把我写的文件一行一行读取出来了。
一个字符一个字符的读
因为换行和空也算一个字符,直接用print也会自动换行的。
其余说明
- 用
lines().count
可以快速看出文件内容有多少行
- read()重载了方法,也可以读到数组中再打印。