如何检查Julia中的文件是否为空?

时间:2016-05-18 15:39:09

标签: io julia

Okey,我想在Julia中绘制一些存储在数组文本文件(通常的表格文本文件)中的点。我可以通过简单的方法检索值 data=readdlm("FileInCase01.dat")如果文件不为空。如果文件为空,我想要data=[],一个空数组和一个空图。文件始终存在。所以isfile是没用的。但有时它是空的。如果我尝试在空文件上使用readdlm,则会返回错误: LoadError: at row 0, column 0 : ArgumentError("number of rows in dims must be > 0, got 0") while loading In[21], in expression starting on line 2 这表明readdlm不能返回一个空数组。所以我必须事先检查文件是否为空。应该怎么做?

1 个答案:

答案 0 :(得分:4)

您可以使用filesize检查文件大小:

shell> cat test.csv
#

julia> filesize("test.csv")
2

空文件的文件大小为0。但请注意:即使“test.csv”不为空,readdlm仍会抛出错误,因为它只包含注释字符:

julia> readdlm("test.csv")
ERROR: at row 0, column 0 : ArgumentError("number of rows in dims must be > 0, got 0")

所以@ DanGetz对try / catch块的建议可能是处理失败的更强大的方法。