程序员

Java 重定向与管道

2018-06-06  本文已影响13人  Yjnull

前言

在学习 Sedgewick《算法4》 的第一章过程中,弥补了很多基础知识。在此做个简单的记录。

重定向

标准输入输出使我们能够利用许多操作系统都支持的命令行的扩展功能。只需要向启动程序的命令中加入一个简单的提示符,就可以将它的标准输入 重定向 至一个文件。文件的内容既可以永久保存,也可以作为另一个程序的输入,简单来说就是下面的例子:

1. 提示符 “ > ”
package edu.princeton.cs.yytest;

import edu.princeton.cs.algs4.StdOut;
import edu.princeton.cs.algs4.StdRandom;

public class RandomSeq {
    public static void main(String[] args) {

        int N  = Integer.parseInt(args[0]);
        double lo = Double.parseDouble(args[1]);
        double hi = Double.parseDouble(args[2]);
        for (int i = 0; i < N; i++) {
            double x = StdRandom.uniform(lo, hi);
            StdOut.printf("%.3f \n", x);
        }
    }
}
D:\codes_learn\algs4\out>java edu.princeton.cs.yytest.RandomSeq 10 100.0 200.0 > data2
2. 提示符 “ < ”
public static void main(String[] args) { 
        int count = 0;       // number input values
        double sum = 0.0;    // sum of input values

        // read data and compute statistics
        while (!StdIn.isEmpty()) {
            double value = StdIn.readDouble();
            sum += value;
            count++;
        }

        // compute the average
        double average = sum / count;

        // print results
        StdOut.println("Average is " + average);
    }
D:\codes_learn\algs4\out>java edu.princeton.cs.algs4.Average < data2
Average is 161.7387
3. 提示符 “ | ”
上一篇下一篇

猜你喜欢

热点阅读