Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 如何在1.1.0中读取文件时使用IOBuffer?_File_Io_Julia - Fatal编程技术网

File 如何在1.1.0中读取文件时使用IOBuffer?

File 如何在1.1.0中读取文件时使用IOBuffer?,file,io,julia,File,Io,Julia,我是朱莉娅的新手!对不起,如果事情是琐碎的或愚蠢的! 我正在尝试使用readlines.jl中的以下代码读取文件: #! /opt/julia/julia-1.1.0/bin/Julia function readlines(file_path::String) io = IOBuffer() global file try file = open(file_path) l0 = readline(file) for lin

我是朱莉娅的新手!对不起,如果事情是琐碎的或愚蠢的! 我正在尝试使用readlines.jl中的以下代码读取文件:

#! /opt/julia/julia-1.1.0/bin/Julia
function readlines(file_path::String)
    io = IOBuffer()
    global file
    try
        file = open(file_path)
        l0 = readline(file)
        for line in eachline(file)
           println(io, line)
        end
    catch err
        println("Error: $err")
    finally
        close(file)
    end
end
readlines("/opt/julia/julia-1.1.0/LICENSE.md")
执行时,$/home/julia/readlines.jl不会打印文件的内容


请帮助我在文件读取中使用IOBuffer

代码中的问题是没有从函数返回
io
。下面是一些代码清理的修复(特别注意,
readlines
函数是在Base中定义的,因此最好使用另一个函数名):

现在您可以运行它来获取
IOBuffer
作为返回值。请注意,通常您希望将此
IOBuffer
ino的内容转换为字符串,您可以使用
take
字符串
的功能如下:

io = readlines2("your_file.ext")
str = String(take!(io))
join(readlines("your_file.ext", keep=true)[2:end])
现在
str
将读入的数据作为字符串包含

最后,您可能更喜欢使用内置的
readlines
函数,只需删除返回向量的第一个条目,然后
join
如下所示的剩余值:

io = readlines2("your_file.ext")
str = String(take!(io))
join(readlines("your_file.ext", keep=true)[2:end])
以获得相同的结果(这可能稍微慢一点,但更简单)