返回列表 上一筆 下一筆

📄 資料內容

// Skip is counted by number of backslashes (\), not by segments.

private static String buildAddress(String rawPath, int skipBackslashes) {

    if (rawPath == null || rawPath.isEmpty()) return "";



    // Find index right after the N-th backslash

    int seen = 0;

    int start = 0;

    for (int i = 0; i < rawPath.length(); i++) {

        if (rawPath.charAt(i) == '\\') {

            seen++;

            if (seen == skipBackslashes) {

                start = i + 1;          // start AFTER N-th '\'

                break;

            }

        }

    }

    // If we never reached N backslashes, nothing to show

    if (skipBackslashes > 0 && seen < skipBackslashes) return "";



    String tail = rawPath.substring(start);



    // trim leading/trailing '\' around the tail

    while (tail.startsWith("\\")) tail = tail.substring(1);

    while (tail.endsWith("\\"))   tail = tail.substring(0, tail.length() - 1);



    // normalize separators to '/'

    return tail.replace('\\', '/');

}

🔐 Base64 編碼內容

Ly8gU2tpcCBpcyBjb3VudGVkIGJ5IG51bWJlciBvZiBiYWNrc2xhc2hlcyAoXCksIG5vdCBieSBzZWdtZW50cy4KCnByaXZhdGUgc3RhdGljIFN0cmluZyBidWlsZEFkZHJlc3MoU3RyaW5nIHJhd1BhdGgsIGludCBza2lwQmFja3NsYXNoZXMpIHsKCiAgICBpZiAocmF3UGF0aCA9PSBudWxsIHx8IHJhd1BhdGguaXNFbXB0eSgpKSByZXR1cm4gIiI7CgoKCiAgICAvLyBGaW5kIGluZGV4IHJpZ2h0IGFmdGVyIHRoZSBOLXRoIGJhY2tzbGFzaAoKICAgIGludCBzZWVuID0gMDsKCiAgICBpbnQgc3RhcnQgPSAwOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcmF3UGF0aC5sZW5ndGgoKTsgaSsrKSB7CgogICAgICAgIGlmIChyYXdQYXRoLmNoYXJBdChpKSA9PSAnXFwnKSB7CgogICAgICAgICAgICBzZWVuKys7CgogICAgICAgICAgICBpZiAoc2VlbiA9PSBza2lwQmFja3NsYXNoZXMpIHsKCiAgICAgICAgICAgICAgICBzdGFydCA9IGkgKyAxOyAgICAgICAgICAvLyBzdGFydCBBRlRFUiBOLXRoICdcJwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgfQoKICAgICAgICB9CgogICAgfQoKICAgIC8vIElmIHdlIG5ldmVyIHJlYWNoZWQgTiBiYWNrc2xhc2hlcywgbm90aGluZyB0byBzaG93CgogICAgaWYgKHNraXBCYWNrc2xhc2hlcyA+IDAgJiYgc2VlbiA8IHNraXBCYWNrc2xhc2hlcykgcmV0dXJuICIiOwoKCgogICAgU3RyaW5nIHRhaWwgPSByYXdQYXRoLnN1YnN0cmluZyhzdGFydCk7CgoKCiAgICAvLyB0cmltIGxlYWRpbmcvdHJhaWxpbmcgJ1wnIGFyb3VuZCB0aGUgdGFpbAoKICAgIHdoaWxlICh0YWlsLnN0YXJ0c1dpdGgoIlxcIikpIHRhaWwgPSB0YWlsLnN1YnN0cmluZygxKTsKCiAgICB3aGlsZSAodGFpbC5lbmRzV2l0aCgiXFwiKSkgICB0YWlsID0gdGFpbC5zdWJzdHJpbmcoMCwgdGFpbC5sZW5ndGgoKSAtIDEpOwoKCgogICAgLy8gbm9ybWFsaXplIHNlcGFyYXRvcnMgdG8gJy8nCgogICAgcmV0dXJuIHRhaWwucmVwbGFjZSgnXFwnLCAnLycpOwoKfQo=
返回列表 上一筆 下一筆