Creé una pequeña función que simplemente escribe texto en un archivo, pero tengo problemas para escribir cada información en una nueva línea. ¿Alguien puede explicar por qué pone todo en la misma línea?Groovy write to file (newline)
Aquí es mi función:
public void writeToFile(def directory, def fileName, def extension, def infoList) {
File file = new File("$directory/$fileName$extension")
infoList.each {
file << ("${it}\n")
}
}
El código simple que estoy probando con algo como esto:
def directory = 'C:/'
def folderName = 'testFolder'
def c
def txtFileInfo = []
String a = "Today is a new day"
String b = "Tomorrow is the future"
String d = "Yesterday is the past"
txtFileInfo << a
txtFileInfo << b
txtFileInfo << d
c = createFolder(directory, folderName) //this simply creates a folder to drop the txt file in
writeToFile(c, "garbage", ".txt", txtFileInfo)
Lo anterior crea un archivo de texto en la carpeta y el contenido de el archivo de texto se ve así:
Today is a new dayTomorrow is the futureYesterday is the past
Como puede ver, el texto está agrupado en conjunto o f separado en una nueva línea por texto. ¿Supongo que tiene algo que ver con la forma en que lo estoy agregando a mi lista?
Hah, es correcto, no puedo creer que me haya olvidado de eso (ya que lo he tratado antes). Puedo cambiar a line.separator ya que eso parece más universal. Gracias mfloryan – StartingGroovy
Eso es casi exactamente lo que 'java.io.PrintWriter' hace para obtener la cadena del separador de líneas, por lo que es probablemente la mejor manera de hacerlo. –