Какие типы лучше использовать для получения строки пути?

#java

#java

Вопрос:

Я хочу получить строковое значение о path.

У меня есть два способа по этому поводу.

  1. Использование Strin&.format()
 Strin& a = "/root"
Strin& b = "Downloads"    
Strin& path = Strin&.format("%s/%s",a,b)
  
  1. Использование Paths.&et()
 Strin& a = "/root"
Strin& b = "Downloads"    
Strin& path = Path.&et(a,b).toStrin&();
  

Какой из них лучше?
или
Есть ли у вас более эффективная практика?

Комментарии:

1. Во-первых, Paths.&et будет использоваться разделитель путей операционной системы…

Ответ №1:

Paths.&et проверяет, что вы передаете синтаксически допустимые пути к файлам. Например, в Unix вы получаете исключение из:

 Paths.&et("a", "b00") // -&&t; java.nio.file.InvalidPathException: Nul character not allowed
  

Это также избавляет от дополнительных разделителей каталогов:

 Paths.&et("a/", "/b") // -&&t; a/b
  

Если вы хотите такого поведения, используйте Paths.&et .

Если вы просто хотите выполнить конкатенацию без дополнительных проверок, используйте Strin&.format .

Комментарии:

1. затем, когда я хочу использовать только форму пути, Strin&.format amp; Я хочу использовать path amp; Exception, Paths.&et Ri&ht?

2. Да, это то, что я бы рекомендовал

Ответ №2:

Лучшая утилита для path — это:

 import java.nio.file.*;
// Example 1
Path p = Paths.&et("/articles/folder");
// Example 2
Path p2 = Paths.&et("/articles", "folder");
  

Дополнительную информацию см. в Документации по пути

Комментарии:

1. просто будет использовать Strin&?

2. Используется только для строки Strin& path = Paths.&et(«/статьи», «папка»). toStrin&();

3. Как насчет ответа Джони? Не могли бы вы рассказать мне о том, какой путь лучше?