重定向
《算法4》第一章1.1.10 的二分查找命贴,在命令行中,書本給出的
% java BinarySearch tinyW.txt < tinyT.txt
相信很多人都有疑問秆吵,這是什么意思样傍?
其實“ < ” , " > " 這是重定向的提示符。
這行命名的意思是:從tinyT.txt文件中讀取一系列的數(shù)值镜遣,運行在BinarySearch這個類的main方法上己肮,tinyW.txt作為args[]數(shù)值的第一個參數(shù)傳遞進去。
我們首先看看這段程序:
public class BinarySearch {
public static int rank(int[] a, int key) {
// 數(shù)組必須是有序的
int lo = 0;
int hi = a.length - 1;
while (lo <= hi) {
// 被查找的鍵要么不存在,要么必然存在于a[lo..hi]中
int mid = lo + (hi - lo) / 2;
if (key < a[mid]) hi = mid - 1;
else if (key > a[mid]) lo = mid + 1;
else return mid;
}
return -1;
}
public static void main(String[] args) {
// read the integers from a file
In in = new In(args[0]);
int[] whitelist = in.readAllInts();
// sort the array
Arrays.sort(whitelist);
// read integer key from standard input; print if not in whitelist
while (!StdIn.isEmpty()) {
// 讀取鍵值谎僻,如果不存在于白名單中則將其打印
int key = StdIn.readInt();
if (BinarySearch.rank(whitelist, key) == -1)
StdOut.println(key);
}
}
}
上述代碼娄柳,用args[0] 讀取tinyW.txt文件的內(nèi)容,保存在了whitelist數(shù)組中艘绍,而 < tinyT.txt 采用了重定向標準輸入赤拒,也就是說,系統(tǒng)直接讀取了tinyT.txt作為了輸入流诱鞠,讀取這個文件的內(nèi)容保存在key變量挎挖。
Eclipse重定向輸入的配置(MAC)
1.保存你的測試數(shù)據(jù)文件在任意目錄下,我這里把tinyT.txt和tinyW.txt保存在工程的testcase目錄下航夺。
2.點擊 Run -> Run Configurations
3.選擇Arguments頁簽蕉朵,
Program arguments:指定tinyW.txt文件的路徑
4.選擇Common頁簽,
Input File:指定重定向輸入文件tinyT.txt的路徑
5.運行程序敷存,ok!
Eclipse重定向輸出的配置(MAC)
將標準輸出重定向到一個文件
% java RandomSeq 1000 100.0 200.0 < randomresult.txt
以上命令行墓造,在Eclipse的配置如下:
點擊 Run -> Run Configurations
1.選擇Arguments頁簽,
Program arguments:設(shè)置入?yún)?/p>
2.選擇Common頁簽锚烦,
Output File:指定輸出的文件路徑
3.運行程序觅闽,ok!
如有需要在IDEA配置重定向功能,請移步到
http://www.reibang.com/p/6b423699007d