我读了一个用Windows-1250编码的文件。我将每行读入列表,然后执行一些追加操作并将集合存储到新文件中。
问题。如果我明确编写编码,那么输出文件似乎编码很糟糕。如果我没有设置任何编码,则输出正常。
enrichedFile.withWriter("windows-1250") { out ->
tempFinalList.each() { line ->
out.println line
}
}
=>输出不好
enrichedFile.withWriter { out ->
tempFinalList.each() { line ->
out.println line
}
}
=>行。
仅供参考:我将它用于捷克语,字母为:ěščřžýáíé。
答案 0 :(得分:1)
我没有看到任何问题。
def myFile = new File('./Archive/file.txt')
def tempFinalList = []
//Reading from the file with windows charset
myFile.withReader('windows-1250') { out ->
out.eachLine{
tempFinalList << it
}
}
//Appending stuff
tempFinalList << 'a' << 'b'
//Creating a new file
def newFile = new File('./Archive/NewFile.txt')
//Writing to the new file with windows charset
newFile.withWriter('windows-1250'){out ->
tempFinalList.each{out.writeLine it}
}
newFile.eachLine{println it}
file.txt
的内容包含您提到的捷克字符。
最后一行的输出:
ešcržýáíé
ešcržýáíé
ešcržýáíé
ešcržýáíé
ešcržýáíé
a
b