我的应用程序接受用户上传的文件并对其进行解析,大量使用查找和倒带方法来解析文件中的块(行可以以“开始”或“结束”开头以包含一段数据等)。
一项新要求允许用户上传加密文件。我已经实现了文件内容的解密,并将内容字符串返回给现有方法。我可以将字符串解析为 CSV,但会丢失文件控件。
出于商业原因,存储文件的未加密版本不是一种选择。
我正在使用 FasterCSV,但如果我可以保持搜索/倒带行为,我不反对使用其他东西。
当前代码:
FasterCSV.open(path, 'rb') do |csv| # Can I open a string as if it were a file?
unless csv.eof? # Catch empty files
# Read, store position, seek, rewind all used during parsing
position = csv.pos
row = csv.readline
csv.seek(pos)