Извлечение имени файла из пути в Dart: различные методы, объясненные примерами кода

При работе с путями к файлам в Dart часто необходимо извлечь из заданного пути только имя файла. В этой статье мы рассмотрим несколько методов выполнения этой задачи, а также примеры кода. Независимо от того, являетесь ли вы новичком или опытным разработчиком Dart, это руководство предоставит вам ряд методов извлечения имени файла из пути.

Метод 1: использование функции basenameиз пакета path

import 'package:path/path.dart';
void main() {
  String filePath = '/path/to/file.txt';
  String fileName = basename(filePath);
  print(fileName); // Output: file.txt
}

Функция basenameиз пакета pathпредоставляет простой и удобный способ извлечь имя файла по заданному пути. Он работает на разных платформах и обрабатывает как прямые, так и обратные косые черты в пути.

Метод 2: использование метода split

void main() {
  String filePath = '/path/to/file.txt';
  String fileName = filePath.split('/').last;
  print(fileName); // Output: file.txt
}

Этот метод разбивает строку пути, используя косую черту в качестве разделителя, и извлекает последний элемент, который представляет имя файла.

Метод 3. Использование регулярных выражений

import 'dart:core';
void main() {
  String filePath = '/path/to/file.txt';
  RegExp regex = RegExp(r'[^\/]+(?=\/?$)');
  String fileName = regex.stringMatch(filePath);
  print(fileName); // Output: file.txt
}

В этом подходе мы используем регулярное выражение для сопоставления имени файла в пути. Шаблон регулярного выражения [^\/]+(?=\/?$)гарантирует, что мы захватим все символы, кроме косой черты, за которой следует необязательная косая черта.

Метод 4. Использование класса Uri

void main() {
  String filePath = '/path/to/file.txt';
  Uri uri = Uri.parse(filePath);
  String fileName = uri.pathSegments.last;
  print(fileName); // Output: file.txt
}

Разбирая строку пути как Uri, мы можем удобно получить доступ к отдельным сегментам пути. В данном случае мы извлекаем последний сегмент, который представляет имя файла.

Извлечение имени файла из пути — обычная задача при разработке Dart. В этой статье мы рассмотрели несколько методов достижения этой цели, в том числе использование функции basenameиз пакета path, разделение строки пути, использование регулярных выражений и использование Uriкласс. Используя эти методы, вы можете легко извлечь имя файла из заданного пути и включить эту функцию в свои приложения Dart.