2016-07-20 26 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; 
} 

Beim Aufruf dieser Funktion muss ich den gesamten Pfad angeben C:/Users/Rachana/workspace/SPACEOM/WebContent/Data/login.xlsx.relativer Pfad anstelle des absoluten Pfades in Java

Aber ich will nur den relativen Pfad in Bezug auf das Verzeichnis erwähnen, in arbeite ich.

Der Funktionspfad C:/Users/Rachana/workspace/SPACEOM/src/com/srishti/space_om/SPACE_Functions.java

+0

Was passiert in der Methode 'create.read'? Wenn Sie relative Pfade benötigen (bezogen auf Ihr Arbeitsverzeichnis), geben Sie nur den relativen Pfad an, z. 'WebContent/Data/login.xlsx', wenn' C:/Users/Rachana/workspace/SPACEOM' Ihr Arbeitsverzeichnis ist. –

Antwort

0

Wenn Ihr „login.xlsx“ ist im selben Paket wie SPACE_Functions.java Klasse sonst müssen Sie den relativen Pfad davor anhängen.

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

Else versuchen, den Pfad zu Java-Klasse

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

zur Karte Wenn Sie diese dann getServletContext().getRealPath("/filepathInContext")

oder verwenden Sie verwenden in einem Servlet benötigen java.net.URL

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