首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ruby在复制文件时显示进度

在复制文件时,Ruby 可以通过使用 File 类和 IO 类的方法来实现显示进度。以下是一个简单的示例,展示了如何在复制文件时显示进度:

代码语言:ruby
复制
require 'fileutils'

def copy_with_progress(src, dest)
  File.open(src, 'rb') do |input|
    File.open(dest, 'wb') do |output|
      buffer = ''
      input_size = input.size
      total_bytes_copied = 0

      while input.read(1024, buffer)
        output.write(buffer)
        total_bytes_copied += buffer.size
        progress = (total_bytes_copied.to_f / input_size.to_f) * 100
        print "\r复制进度: #{progress.round(2)}%"
      end
    end
  end
  puts "\n复制完成"
end

src = 'source_file.txt'
dest = 'destination_file.txt'

copy_with_progress(src, dest)

在这个示例中,我们定义了一个名为 copy_with_progress 的方法,该方法接受源文件和目标文件的路径作为参数。我们使用 File.open 方法打开源文件和目标文件,并使用 input.size 获取源文件的大小。然后,我们使用一个循环来读取源文件的内容,并将其写入目标文件。在每次迭代中,我们计算已复制的字节数和总字节数,并计算复制进度百分比。最后,我们使用 puts 输出复制完成的消息。

这个示例使用了 Ruby 的 File 类和 IO 类,并通过在循环中计算进度百分比来显示复制进度。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券