Как разбить строку после точки в Java

1

У меня есть требование, чтобы я разделил строку, имеющую расширение.xls или.xlsx. Мне нужно загрузить файл из локального файла и сохранить его в каталоге в моем проекте. Я могу это сделать. Теперь требование состоит в том, что я должен проверить, будет ли тот файл, который будет загружен, если будет повторяться, я изменю имя файла и добавлю его к этому. Так что я несколько клиентов обращаются к файлу и пытаюсь загрузить каждый файл с другим имя должно сохранить в папку. Так что я делаю это, чтобы разделить Sring, но я не хочу этого подхода.

public class RenameFile {

    public static void main(String[] args) {

        String str = new String("Udemy.txt");

        String result[] = str.split("\\.");

        for (String ff : result) {
            System.out.println(ff);
        }
    }
}

я dont цикл для манипулирования моей String.i хочет что-то, что просто вырезает fileName и ext, и я могу его где-то хранить, а затем после opeartion я также могу добавить them.plese help..

  • 3
    Вы никогда не должны делать новую строку («некоторая строка»);
  • 0
    Итак, сначала вы спрашиваете, как разделить строку, а затем говорите, что не хотите такой подход? Тогда что именно вы хотите? Также после разделения с помощью ("."), result[0] должен хранить ваше имя файла, а result[1] будет хранить ваше расширение.
Показать ещё 1 комментарий
Теги:

4 ответа

7
Лучший ответ

Расширение файла является частью после последней точки, и поэтому следующее должно работать

String str = "Udemy.txt";
String fileName = str.substring(0, str.lastIndexOf("."));
String extension = str.substring(str.lastIndexOf(".") + 1);
2

вы можете так использовать,

 String result[] = str.split(".");
String fileName = result[0];
String extension = result[1];
2

Попробуй это,

String fileName = "MyFile.xls";     
int dotIndex = fileName.lastIndexOf(".");
String name = fileName.substring(0, dotIndex); // MyFile
String extension = fileName.substring(dotIndex); // .xls
// then you can change and re-construct the file name
0
String str = "Udemy.txt";
int ix = str.lastIndexOf('.');
if (ix >= 0) {
    String ext = str.substring(ix);
    String root = str.substring(0, ix);
    ...
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню