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

ati*_*mpi 2 java jakarta-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
Run Code Online (Sandbox Code Playgroud)

java.io.FileNotFoundException: E:\TestCode\Test (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(Unknown Source) at 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.  
Run Code Online (Sandbox Code Playgroud)

San*_*eev 5

用环绕你的文件路径 " - 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"