I get this error,

Exception in thread "main" java.io.IOException: Cannot run program "java -jar C:\Users\Jack\testFile.jar\" (in directory "\"): CreateProcess error=2, The system cannot find the file specified
	at java.lang.ProcessBuilder.start(Unknown Source)
	at testProject.Main.main(Main.java:15)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
	at java.lang.ProcessImpl.create(Native Method)
	at java.lang.ProcessImpl.<init>(Unknown Source)
	at java.lang.ProcessImpl.start(Unknown Source)
	... 2 more

when trying to use this code:

ProcessBuilder pbT = new ProcessBuilder("java -jar "+files[0]);;
		pbT.directory(new File("/"));

That's just in my main() method

Does anyone have any insight as to why, and if so how I can fix it?


pbT.directory(new File("/"));


pbT.directory(new File("/text.txt"));

That's not a directory.
That string, files[0], is a user entered file path

Oh, I see. Well, from the error I can see that you are trying to access a file that doesn't exist. You should catch that exception.

Thing is, in windows explorer, it finds the file just fine.

What are you trying to do with it? You can get an IOException when you can't open/edit your file. Also, starting with a slash means you take the absolute path.

The file is a jarfile, and I want to run it. The process builder returns Error=2 now. I really don't know quite what's wrong as the command works perfectly from command prompt.

IOException: Cannot run program "java -jar C:\Users\Jack\testFile.jar\"

That final \ on the filename looks wrong to me. Very wrong.

If I used:


Do you think I would have better luck?

Well, does the command with \ at the end work in the prompt? Testing helps usually, just try and check if it works :)

EDIT: You just posted before me. I would suggest you try what JamesCherill said.