En Windows, crea el archivo C: \ joe \ logs \ foo.log (asumiendo el inicio del usuario como C: \ joe)
En Unix, crea el archivo /u/joe/logs/foo.log (asumiendo el inicio del usuario como / u / joe)
Sugiero usar en File.separaratorlugar de cuidar el sistema operativo actual. Eg "/tmp/foo"isFile.separator+"tmp"+File.separator+"foo"
mat_boy
Supongo que no crea el archivo real, pero crea un objeto Path. Puede usar el objeto de ruta para crear el archivo real en el disco, usando Files.createFile (logfilePath).
Mr.Q
12
Si es posible, sugeriría crear Pathdirectamente desde los elementos de la ruta:
Path path =Paths.get("C:","dir1","dir2","dir3");// if neededString textPath = path.toString();// "C:\\dir1\\dir2\\dir3"
Incluso cuando la pregunta se refiere a Java 7, creo que agrega valor saber que desde Java 11 en adelante, hay un método estático en Pathclase que permite hacer esto de inmediato:
Path.get()
plataforma independiente? lo que significa quePath.get("lib","p2")
será comolib\p2
en Windows ylib/p2
en LinuxDe los javadocs .. http://docs.oracle.com/javase/tutorial/essential/io/pathOps.html
es lo mismo que
En Windows, crea el archivo C: \ joe \ logs \ foo.log (asumiendo el inicio del usuario como C: \ joe)
En Unix, crea el archivo /u/joe/logs/foo.log (asumiendo el inicio del usuario como / u / joe)
fuente
File.separarator
lugar de cuidar el sistema operativo actual. Eg"/tmp/foo"
isFile.separator+"tmp"+File.separator+"foo"
Si es posible, sugeriría crear
Path
directamente desde los elementos de la ruta:fuente
Incluso cuando la pregunta se refiere a Java 7, creo que agrega valor saber que desde Java 11 en adelante, hay un método estático en
Path
clase que permite hacer esto de inmediato:Con todo el camino en una cadena:
Path.of("/tmp/foo");
Con el camino desglosado en varias cadenas:
Path.of("/tmp","foo");
fuente
Paths.get
.