Я пытаюсь построить объект файла Java на основе имени файла пользователя (может быть абсолютно или относительно) и зависимый от окружающей среды. Java doc for java.io.file (родительский файл, String Child) говорит следующее:
Если строка Catchname Catchname является абсолютной, то она преобразуется в относительный путь в системном порядке.
Это заставило меня подумать, что если у меня есть следующий код:
public class TestClass {
public static void main(String[] args) throws IOException {
File file = new File(new File("C:/Temp"),"C:/Temp/file.txt");
System.out.println(file.getAbsolutePath());
}
}
Вывод будет
C:\Temp\file.txt
, а затем я был бы в бизнесе, потому что он больше не имеет значения, если пользователь предоставит абсолютный или относительный путь. Но на самом деле вывод - это
C:\Temp\C:\Temp\file.txt
, что означает, что я должен выяснить точный относительный путь (или, по крайней мере, тестировать разные варианты, чтобы увидеть, существует ли файл). У меня недоразумение JavadoC?
-121 1137736-Они, кажется, не смешивают это хорошо:
abstract class A
case class B (var a: Int)(var b: String) extends A
case class C extends A
Следующее не будет работать:
B(1)("1") match {
case B(a)(b) => print("B")
case C() => print("C")
}
Проблема в том, что в том, что сопоставление шариков и карманных аргументов, похоже, не работают. Есть ли работа для этого?