2016-07-20 7 views
-1
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.относительный путь вместо абсолютного пути в java

Но я хочу упомянуть только относительный путь по отношению к каталогу, я работаю в.

Функция путь C:/Users/Rachana/workspace/SPACEOM/src/com/srishti/space_om/SPACE_Functions.java

+0

Что происходит в методе 'create.read'? Если вам нужны относительные пути (связанные с вашим рабочим каталогом), чем просто указать относительный путь, например. 'WebContent/Data/login.xlsx', когда' C:/Users/Rachana/workspace/SPACEOM' является вашим рабочим каталогом. –

ответ

0

Если «login.xlsx» находится в том же пакете, SPACE_Functions.java class else вам нужно добавить относительный путь до него.

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

Else пытаются отобразить путь к Java класса

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

Если вам это нужно в сервлет затем использовать getServletContext().getRealPath("/filepathInContext")

или использовать java.net.URL

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