Правильный способ обрезать имя файла для использования в качестве строки? - PullRequest
0 голосов
/ 08 октября 2018

Я делаю проект javaFX, используя данные из файлов в каталоге данных в качестве входных данных.Я хочу использовать каждое имя файла в качестве строковой переменной.Я уже загрузил данные:

File path = new File("data");
File [] files = path.listFiles();
for (int i = 0; i < files.length; i++){
    if (files[i].isFile()){ 
       items.loadData(files[i].toString());
    }

ToString теперь data / fileName1.csv.Я хочу сохранить использование только fileName1.Я попытался использовать метод split () в методе loadData (), например:

fileName= fileName.split("/")[1]; //should trim to fileName1.csv, works
fileName= fileName.split("\.")[0]; //should trim to fileName1, error

Ошибка для второго split () - «недопустимая escape-последовательность (допустимыми являются \ b \ t \n \ f \ r \ "\ '\)".

Я пробовал варианты, чтобы это исправить. Есть ли лучший / более эффективный способ сделать это?

Редактировать: Изменена обрезка дораскол

Ответы [ 3 ]

0 голосов
/ 08 октября 2018

Вы можете использовать следующий код и получить имя файла в одну строку.

files[i].substring(files[i].indexOf("/") + 1);
0 голосов
/ 08 октября 2018

Вы можете сделать следующее:

String fileName = "data/fileName1.csv";
String [] arr = fileName.split("(/|\\.)");
fileName = arr[1]; 
0 голосов
/ 08 октября 2018

Вам нужно убежать от обратной косой черты.Попробуйте \\.

Но для подобных операций вам, вероятно, следует использовать такие функции Path, как: https://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html#getFileName()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...