2010-10-13 47 views
1

我不是一個Java編碼,但需要一個commnad,會做的Java equivelant到UIX削減

cut -d "/" -f1,2,3 MyFile 

任何想法?

+1

我不是unix master這個命令做什麼? – 2010-10-13 12:27:16

+0

另外,某種上下文(你已經擁有了哪些代碼?)會很好。這不是要求人們爲您編寫整個程序的網站。 – Tomalak 2010-10-13 12:29:33

+1

如果你正在尋找一個Java命令*,你不會得到它。您將擁有一個解析該文件的程序,將其分割爲分隔符中的字符串數組,然後挑選出想要的列。使用你的unix命令會容易得多。 – JoseK 2010-10-13 12:31:37

回答

1

閱讀文件。拆分/的每一行,然後打印出前三部分。

BufferedReader in = null; 
try{ 
    in = new BufferedReader(new FileReader("MyFile")); 
    String line = "" ; 
    while((line = in.readLine()) != null){ 
     String[] fields = line.split("/"); 
     System.out.printf("%s/%s/%s\n", fields[0], fields[1], fields[2]) ; 
    } 
} 
catch(Exception e){ 
    e.printStackTrace(); 
} 
finally{ 
    if (in != null) { 
     try { 
      in.close(); 
     } catch (IOException e) { 
     } 
    } 
} 
+0

恕我直言,如果您已經描述了聲明性語言與非聲明性Java之間的區別,而不是顯示您能夠編寫一段代碼,那將會更好。問題是關於命令而不是解決方案。 – 2010-10-13 12:46:35

0

Java代碼和腳本示例之間的主要區別是,他們使用不同的編程範式,免得說,Java的使用對象編程和例子可以分配給聲明編程(你只表達的邏輯,不是辦法得到結果),所以在Java中沒有命令。

因此,沒有可用於此類功能的命令。

這種類型的靜態過程可能有一些類似於剪切程序的包。但仍然需要編寫一個程序才能使用它。

所以,如果你會描述我們使用這個程序(切)的目的,我們可以爲你提供一個很好的答案。

+0

現在你應該知道SO上沒有上帝的答案。即使@Jon Skeet也只是上帝 - 像*一樣。 – 2010-10-13 13:58:47