Di Windows, buat file C: \ joe \ logs \ foo.log (dengan asumsi rumah pengguna sebagai C: \ joe)
Di Unix, buat file /u/joe/logs/foo.log (dengan asumsi rumah pengguna sebagai / u / joe)
Saya menyarankan untuk menggunakan File.separaratordaripada merawat OS saat ini. Misalnya "/tmp/foo"adalahFile.separator+"tmp"+File.separator+"foo"
mat_boy
Saya kira itu tidak membuat file yang sebenarnya, tetapi itu menciptakan objek Path. Anda dapat menggunakan objek path untuk membuat file aktual pada disk, menggunakan Files.createFile (logfilePath).
Mr.Q
12
Jika memungkinkan, saya sarankan untuk membuat Pathlangsung dari elemen path:
Path path =Paths.get("C:","dir1","dir2","dir3");// if neededString textPath = path.toString();// "C:\\dir1\\dir2\\dir3"
Bahkan ketika pertanyaannya tentang Java 7, saya pikir itu menambah nilai untuk mengetahui bahwa dari Java 11 dan seterusnya, ada metode statis di Pathkelas yang memungkinkan untuk melakukan ini langsung:
Path.get()
platform independen? artinyaPath.get("lib","p2")
akan sepertilib\p2
di Windows danlib/p2
di linuxDari javadocs .. http://docs.oracle.com/javase/tutorial/essential/io/pathOps.html
sama dengan
Di Windows, buat file C: \ joe \ logs \ foo.log (dengan asumsi rumah pengguna sebagai C: \ joe)
Di Unix, buat file /u/joe/logs/foo.log (dengan asumsi rumah pengguna sebagai / u / joe)
sumber
File.separarator
daripada merawat OS saat ini. Misalnya"/tmp/foo"
adalahFile.separator+"tmp"+File.separator+"foo"
Jika memungkinkan, saya sarankan untuk membuat
Path
langsung dari elemen path:sumber
Bahkan ketika pertanyaannya tentang Java 7, saya pikir itu menambah nilai untuk mengetahui bahwa dari Java 11 dan seterusnya, ada metode statis di
Path
kelas yang memungkinkan untuk melakukan ini langsung:Dengan semua jalur dalam satu String:
Path.of("/tmp/foo");
Dengan jalur yang dipecah dalam beberapa String:
Path.of("/tmp","foo");
sumber
Paths.get
.