How to use "ls *.c" command in java?
command-line, java, linux, ls
Solution
You might find this more reliable:
Path dir = Paths.get("/path/to/directory");
try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.c")) {
for (Path file : stream) {
// Do stuff with file
}
}
Problem
I am trying to print "*.C" files in java I use the below code ``` public static void getFileList(){ try { String lscmd = "ls *.c"; Process p=Runtime.getRuntime().exec(lscmd); p.waitFor(); BufferedReader reader=new BufferedReader(new InputStreamReader(p.getInputStream())); String line=reader.readLine(); while(line!=null) { System.out.println(line); line=reader.readLine(); } } catch(IOException e1) { System.out.println("Pblm found1."); } catch(InterruptedException e2) { System.out.println("Pblm found2."); } System.out.println("finished."); } ``` P.S:- It is working fine for "ls" command.when I am using "*" in any command, all aren't work. need the replacement of "*" in the command in java. UPDATE Thanks for your help guys. Now i need the same result for the comment " ls -d1 $PWD/** "in java. it will list all the directory names with the full path. Thanks for your time.