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

wpk*_*kzz 1 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无法返回空数组。因此,我必须事先检查文件是否为空。那应该怎么做?

Mat*_* B. 5

您可以使用以下方法检查文件大小filesize

shell> cat test.csv
#

julia> filesize("test.csv")
2
Run Code Online (Sandbox Code Playgroud)

文件大小将为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")
Run Code Online (Sandbox Code Playgroud)

因此,@ DanGetz关于try / catch块的建议可能是处理故障的更可靠的方法。