2013-09-10 2 views
0

Я пытаюсь разделить путь к файлу с помощью StringTokenizer, независимо от платформы (Windows/Solaris/Linux).Использование StringTokenizer в Java для разделения платформы пути Независимо

Например: C: \ folder1 \ folder2 \ sample.xls превратится в folder1, folder2, sample.xls в StringTokenizer

и /folder1/folder2/sample.xls превратится в folder1, folder2 , sample.xls в String Tokenizer

До сих пор у меня работа с файлом, но у меня есть косая черта, и она работает на окнах, но я бы хотел использовать File.seperator или что-то подобное вместо жесткого кодирования слэш, чтобы код был независимым от платформы. Я ценю любую помощь/предложения, спасибо!

{

File path = new File(C:\folder1\folder2\sample.xls); 
// I do not want the slash below hard coded 
StringTokenizer st = new StringTokenizer(suiteName, "/"); 
while(st.hasMoreElements()) 
{ 
    String item = (String)st.nextElement(); 
    if(st.countTokens() == 0) 
    { 
     //Now this is the excel file 
     System.out.println("This is the excel file: " + item); 
    } 
    else 
    { 
     System.out.println("This is the folder: " + item); 
    } 
} 

}

+0

Вы уже дали ответ на запрос, пожалуйста, проверьте, работает ли File.seperator вместо жесткого кодированного «/» или нет? – gyan

ответ

2

Вы можете использовать File.separator, чтобы получить зависимые от системы разделитель файлов.

StringTokenizer st = new StringTokenizer(suiteName, File.separator); 
Смежные вопросы