以字符串形式读入任意文件,然后保存回文件?总是腐败

时间:2014-10-28 17:16:23

标签: r

我试图简单地将任意文件读入R作为字符串。然后将其保存到其他位置。

data = readLines("/path_to_file/")
con = file("/new_path_to_file", "w")
writeLines(data, con)
close(con)

每次新文件损坏时(使用此图片进行测试:http://lacuadramagazine.com/wp-content/uploads/sangeh-monkey-forest-101.jpg)。

我也试过readChar但是根据文件,我收到了UTF-8错误。

我希望能够对任何文件执行此操作 - 图像,文本等。这是更大分析的一部分(因此file.copy不会削减它),但我甚至无法获得基本读取/写机制下来。应该很简单但很难过。

1 个答案:

答案 0 :(得分:1)

您在这里处理二进制数据,而不是字符数据。很可能你应该使用

setwd("~/../Desktop")
fn<-"sangeh-monkey-forest-101.jpg"
img<-readBin(fn, raw(), file.info(fn)$size)
writeBin(img, "out.jpg")

您可以尝试使用rawToChar(img)等功能转换为字符,但由于R字符串不能包含空值(您可以使用which(img==0)),因此您可以使用{{1}}。 t真的把它表示为一个正确编码的字符串。