2011-07-29 5 views
17

me gustaría escribir un método similar al siguiente¿Cómo añado un archivo en Scala?

def appendFile(fileName: String, line: String) = { 
} 

Pero no estoy seguro de cómo dar cuerpo a la aplicación. Otra pregunta aquí alude a las capacidades de Scala 2.9 pero no pude encontrar más detalles.

+0

Vea también el segundo ejemplo para agregar aquí: http://stackoverflow.com/a/5218279/243233 – Jus12

Respuesta

31

No hay Scala-IO de aplicación específica en el momento, aunque entiendo one written by Jesse Eichar está en incubación. No estoy seguro, en qué medida esto hace uso de la nueva API de archivos (ruta) en JDK7. Debido a esto, por ahora me gustaría ir con la simple Java:

val fw = new FileWriter("test.txt", true) 
try { 
    fw.write(/* your stuff */) 
} 
finally fw.close() 
4
val fw = new FileWriter("test.txt", true) ; 
fw.write("This line appended to file!") ; 
fw.close() 
10

La pregunta es vieja, así son las respuestas. Encuentro que esta forma más fácil:

scala.tools.nsc.io.File("filename").writeAll("hello world") 

o

scala.tools.nsc.io.File("filename").appendAll("hello world") 

o

scala.tools.nsc.io.Path("/path/to/file").createFile().appendAll("hello world") 

Por supuesto, para más concisión, puede importar el paquete scala.tools.nsc.io y evitar su repetición en el código. Una ventaja de usar este paquete es que no tiene que agregar ninguna dependencia/biblioteca externa (a diferencia de scala.io.file (Scalax) o Apache Commons, por ejemplo).

Créditos: Garett Hall, vea this.

+0

Esto no es una API pública, y se puede quitar en cualquier momento, así que no se sorprenda si su el código se rompe un día. –

+0

De la biblioteca: Nota: Esta biblioteca se considera experimental y no debe utilizarse a menos que sepa lo que está haciendo. – soote

Cuestiones relacionadas