2010-10-13 49 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