在Java中使用StringTokenizer来独立地拆分路径平台

时间:2013-09-10 15:33:59

标签: java platform stringtokenizer

我正在尝试使用独立于Platform(Windows / Solaris / Linux)的StringTokenizer来拆分文件路径。

例如: c:\ folder1 \ folder2 \ sample.xls将转换为StringTokenizer中的folder1,folder2,sample.xls

和/folder1/folder2/sample.xls将转换为String Tokenizer中的folder1,folder2,sample.xls

到目前为止,我有文件拆分工作,但我有斜线硬编码,它适用于Windows,但我想使用File.seperator或类似的东西而不是硬编码斜杠,以便代码是平台独立的。 我感谢任何帮助/建议,谢谢!

public static void main(String[] args)

{

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);
    }
}

}

1 个答案:

答案 0 :(得分:2)

您可以使用File.separator获取系统相关的文件分隔符。

StringTokenizer st = new StringTokenizer(suiteName, File.separator);