Jeśli chcę utworzyć plik w C:/a/b/test.txt
, mogę zrobić coś takiego:
File f = new File("C:/a/b/test.txt");
Chcę również użyć FileOutputStream
do utworzenia pliku. Więc jak mam to zrobić? Z jakiegoś powodu plik nie jest tworzony w odpowiednim katalogu.
new File("/a/b/test.txt")
działa dla obu systemów. W systemie Windows zostanie zapisany na tym samym dysku, na którym działa JVM.f.getParentFile().mkdirs(); f.createNewFile();
Przed zapisaniem musisz upewnić się, że katalogi nadrzędne istnieją. Możesz to zrobić przez
File#mkdirs()
.źródło
Z Java 7 , można użyć
Path
,Paths
orazFiles
:źródło
Posługiwać się:
Zauważ, że zmieniłem ukośniki w przód na podwójne ukośniki w tył dla ścieżek w systemie plików Windows. Spowoduje to utworzenie pustego pliku w podanej ścieżce.
źródło
createNewFile()
Jest przy okazji niepotrzebne, gdy piszesz do niej zeFileOutputStream
tak.Lepszy i prostszy sposób na zrobienie tego:
Źródło
źródło
Powinno to spowodować utworzenie nowego pliku w katalogu
źródło
Utwórz nowy plik w określonej ścieżce
Wyjście programu:
Utworzenie pliku powiodło się
źródło
Zaskakujące jest, że wiele odpowiedzi nie zawiera pełnego działającego kodu. Oto ona:
źródło
Aby stworzyć plik i napisać tam jakiś ciąg:
Działa to na komputerach Mac i PC.
źródło
Aby skorzystać z FileOutputStream, spróbuj tego:
źródło