从命令行执行Jar文件,文件夹名称中包含空格

时间:2014-07-17 06:37:42

标签: java java-ee

Input File Path as argument to program

File Path : E:\TestCode\Test file space\abc.xml

Code : This code will accept the above file path as argument.

package com.org;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

public class FileSepratorTest {

    public static void main(String[] args) {
        String filePath = args[0];    // It will take file path as E:\TestCode\Test file space\abc.xml
        try {
            System.out.println("File Path :"+filePath);  // printing file path
            FileInputStream file = new FileInputStream(new File(filePath)); 
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}


Exception occurs when execute this code with space separated folder name

File Path :E:\TestCode\Test
  

java.io.FileNotFoundException:E:\ TestCode \ Test(系统找不到指定的文件)
     at java.io.FileInputStream.open(Native Method)      在java.io.FileInputStream。(未知来源)      在com.org.FileSepratorTest.main(FileSepratorTest.java:16)

它没有显示整个文件路径,我知道我需要把它作为参数但是我想执行jar文件,jar文件路径指定如下

E:\TestCode\executable_jar>java -cp E:\TestCode\executable_jar\abc_lib -jar redmas-    migration.jar E:\TestCode\Migration Letest File\abc.xml** **in my application.  

1 个答案:

答案 0 :(得分:3)

使用" - double quote

包围文件路径
  

E:\ TestCode \ executable_jar> java -cp E:\ TestCode \ executable_jar \ abc_lib   -jar redmas- migration.jar“E:\ TestCode \ Migration Letest File \ _ abc.xml”