Zasadniczo, co dzieje się, tworzysz katalog o nazwie Library\test.txt
, a następnie próbuje utworzyć nowy plik o nazwie to samo, to oczywiście nie będzie działać.
Tak więc, zamiast ...
File file = new File("Library\\test.txt");
file.mkdir();
file.createNewFile();
Spróbuj ...
File file = new File("Library\\test.txt");
file.getParentFile().mkdir();
file.createNewFile();
dodatkowe
mkdir
nie będzie faktycznie rzucać jakiegokolwiek wyjątku jeśli to się nie powiedzie, który jest dość denerwujące, więc zamiast tego zrobiłbym coś bardziej podobnego do ...
File file = new File("Library\\test.txt");
if (file.getParentFile().mkdir()) {
file.createNewFile();
} else {
throw new IOException("Failed to create directory " + file.getParent());
}
Tak więc wiedziałem czego rzeczywisty problem był ...
dodatkowe
Utworzenie katalogu (w tym kontekście) będzie w miejscu uruchomiono program z. ..
Na przykład, uruchamiasz program od C:\MyAwesomJavaProjects\FileTest
, katalog Library
zostanie utworzony w tym katalogu (tj. C:\MyAwesomJavaProjects\FileTest\Library
). Utworzenie go w tym samym miejscu, co plik .java
, zazwyczaj nie jest dobrym pomysłem, ponieważ Twoja aplikacja może zostać później dołączona do słoika.
żadnych wyjątków? – sanbhat
Jest to podstawowe środowisko Java. Możesz to uzyskać, czytając dokumenty na temat podstawowej wersji Java w http://docs.oracle.com/javase/tutorial/essential/io/fileOps.html – AJJ
@ Rock123 po prostu zaczęło się na java.felt, jak pytaj tutaj i zapytał.you może wskazać mi lepsze zasoby. – WannaBeCoder