• 注册
  • 赞助本站

    • 微信
    • 支付宝
    • Q Q

    感谢一直支持本站的所有人!

    • 查看作者
    • 关于算法4中largeW.txt < largeT.txt 的重定向问题

      BinarySearch作为算法4这本书的第一个程序,相信很多人都有疑问,在命令行中,课本给出的

      java BinarySearch largeW.txt < largeT.txt

      关于重定向,本站的Java重定向和管道以及课本的第24页都有简介,但是上面这段话到底是什么意思呢?

      首先,我们创建largeW.txt 和 largeT.txt 这两个文本文件,内容编辑如下:

      largeW.txt:
      1 2 3 4 5 6 7 8
      
      largeT.txt 
      1 2 3 4 5 6 7 8 9

      接下来我们在命令行中执行java BinarySearch largeW.txt < largeT.txt,如下图:

      可以看到,输出的99,也就是说,上述代码是将largeT.txt中的所有数字作为key,largeW.txt 中的所有数字作为查询的数组,也就是将largeT.txt中的每个数字作为key在largeW.txt中查找。

      读懂了上述代码,那么largeW.txt < largeT.txt到底是什么意思呢?其实这大家有疑问,主要的原因是因为将largeW.txt < largeT.txt看成另一个整体这里largeW.txt < largeT.txt 其实是两部分 :

      largeW.txt 作为args[0] 

      < largeT.txt 作为重定向输入 

      上述代码首先采用args[0] 将largeW.txt文件的内容,保存在了whitelist数组中 而接下来的 < largeT.txt 采用了重定向标准输入,也就是说,此时系统直接读取了largeT.txt作为了输入流,所以直接可以读取这个文件保存在key变量里了。

      为了证明上面的理论,我们将< largeT.txt 去掉,如下图:

      可以看到,此时需要我们手动输入了,输入10000,没有找到这个数字,所以输出,而输入2,找到了则不输出。

    • 3
    • 0
    • 236
    • 0
      该评论内容已被删除。
    • 0
      该评论内容已被删除。
    • 0
      该评论内容已被删除。
    • 单栏布局 侧栏位置: