express символ \ как строка - PullRequest
       1

express символ \ как строка

0 голосов
/ 24 февраля 2020

Я пишу программу, которая сканирует путь к файлу и удаляет имя файла, чтобы я мог создать новый файл в этом месте. Чтобы сделать это, я решил сделать что-то вроде этого

public String outPutPath(String path) {
        String returnPath;
        for(int i=path.length()-2; i>=0;i--) {
            if(String.toChar(path.charAt(i))=="\" && path.charAt(i-1)=="\") {
                int tempt=i;
                break;
            }
        }       
        returnPath=path.subString(0,i+1)+"test";
        return returnPath;
    }

Однако я продолжаю получать «Литерал строки неправильно закрывается двойной кавычкой» для части «\» Это почти как если бы я не мог express \ как строку я также пытался присвоить \ строковой переменной, но это не работает либо

Ответы [ 2 ]

2 голосов
/ 24 февраля 2020

Вместо экранирования \ (что является одним из возможных вариантов), я настоятельно рекомендую вам использовать File.separatorChar; Таким образом, ваш код не привязан к одной платформе.

if (path.charAt(i) == File.separatorChar && path.charAt(i - 1) == File.separatorChar) {
    int tempt = i;
    break;
}
2 голосов
/ 24 февраля 2020

Вам просто нужно поставить префикс с другим \

public String outPutPath(String path) {
    String returnPath;
    for(int i=path.length()-2; i>=0;i--) {
        if(String.toChar(path.charAt(i))=='\\' && path.charAt(i-1)=='\\') {
            int tempt=i;
            break;
        }
    }       
    returnPath=path.subString(0,i+1)+"test";
    return returnPath;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...