gpt4 book ai didi

Ruby 临时文件与文件

转载 作者:数据小太阳 更新时间:2023-10-29 08:46:51 25 4
gpt4 key购买 nike

我想知道 TempfileFile 的区别。

我发现:

require 'open-uri'

open('c:/boot.ini'){|file|
puts file.class #File
}

open('http://coderlee.cnblogs.com'){|file|
puts file.class #Tempfile
}

当我将流保存到远程存储服务器时,Tempfile 会导致错误,似乎是编码不是ASCII-8BIT 为什么?

最佳答案

在第一种情况下,您正在从文件系统加载文件。这将使用文件名(它有一个)创建一个 File 对象。

在第二种情况下,您正在打开一个指向远程文件的流。您的文件系统上没有关联的文件,但如果您想对其进行任何操作,则需要一个。因此,Ruby 创建了一个 Tempfile为您提供一个您甚至不需要知道的唯一文件名(因为资源本身没有名称)。然后它的行为与 File 对象完全一样。

关于Ruby 临时文件与文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25347860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com