java中的相对路径而不是绝对路径

时间:2016-07-20 10:07:16

标签: java path absolute relative

set

调用此函数时,我必须提及整个路径public String[] return_login_config_array(String name, int index) { SPACE_CreateThroughExcel create = new SPACE_CreateThroughExcel(); String[][] data = create.read(name); int columns = data[0].length; String[] login_var = new String[columns]; for (int i = 1; i < columns; i++) { login_var[i] = data[index][i]; } return login_var; }

但我只想提到我正在工作的目录的相对路径。

功能路径C:/Users/Rachana/workspace/SPACEOM/WebContent/Data/login.xlsx

1 个答案:

答案 0 :(得分:0)

如果您的“login.xlsx”与SPACE_Functions.java类在同一个包中,则需要在它之前附加相对路径。

URL url = getClass().getResource("login.xlsx ");
File file = new File(url.getPath());

否则尝试将路径映射到java类

URL url = getClass().getResource("/<relative path>/login.xlsx ");
File file = new File(url.getPath());

如果您需要在servlet中使用它,请使用getServletContext().getRealPath("/filepathInContext")

或使用java.net.url

java.net.URL url = this.getClass().getClassLoader().getResource("web.xml");
String filePath = url .getFile();