• Ruby file


    文件的操作File类
        创建新文件的方式有:
        file = File.new("testfile", "r")
        第一个参数是文件的路径和名字;
        第二个参数以文件的模式,可以是:
        #  r    只读
        #  w      只写
        #  a      追加只写
        #  r+, w+, a+都是读写模式,但是有区别
        #  r+是覆盖写,w+是清除后写,a+是追加写
        #  所有模式加b就是对应的二进制模式

        打开文件的方法:
        File.open("testfile", "r")  do  |file|
            #处理文件
        end

        写入文件
        File.open("E:/22.txt", "w"){|file|
            file.puts("line1")
            file.puts("line1")
            file.close
        }

        读取文件
        file = File.open("E:/20101221.txt")
        file.each{ |line|
            puts line
        }
        file.close

    文件路径的处理Dir类
        
         Dir.chdir(“/tmp”)        # 将当前的工作路径改为tmp

         Dir.getwd         # 获取当前的工作路径

         Dir.rmdir("/tmp")    # 删除文件夹

         Dir.foreach(“testdir”) {|x| puts “Got #{x}” }    # 循环文件夹中的所有文件及文件夹

         Dir.mkdir(“test”)        # 创建文件夹

         Dir.glob(“*.rb”)        # 找出与“*.rb”匹配的文件,返回一个数组

         #生成dir目录及其所有上级目录
         FileUtils.mkdir_p 'E:/ruby'

         #删除目录
         FileUtils.rm_r Dir.glob('E:/ruby')

         # cp 文件拷贝
         FileUtils.cp("F:\\test1.rb", "F:\\Test“)        
         # 该方法经测试可以进行覆写操作,同名文件被拷贝的文件覆盖

         # mv 将文件进行移动
         FileUtils.mv("F:\\test1.rb", "E:\\test2.rb")
         # 该方法将 test1.rb 改名为 test2.rb 并移动到 E 分区

         FileUtils.mv("F:\\Ruby", "F:\\Good")
         # 该方法将 Ruby 文件夹移动到 Good 文件夹下

         FileUtils.mv("F:\\Good", "E:\\Good")
         # >>Error!Permission denied - F:\Good or E:\Good,跨区的文件夹移动发生了错误

         # cmp 文件比较
         FileUtils.cmp("F:\\test1.rb", "F:\\test2.rb")
         # 比较两个文件是否相同,返回 true 或者 false

    require "fileutils"

    if File.exist?("./testfile/test.txt")
      file=File.open("./testfile/test.txt")
      file.each do |line|
        puts line
      end
      file.close
    else
      file=File.new("./testfile/test.txt","a+")
      File.open("./testfile/test.txt","w") do |file|
        file.puts("line 1")
        file.puts("line 2")
      end
    end

    puts Dir.getwd        
    if File.exist?("./testfile/test2")
      Dir.rmdir("./testfile/test2")
    else
      Dir.mkdir("./testfile/test2")
    end
    #a=Dir.glob("*.rb")
    #puts a
    #b=Dir.glob("**/*.rb")
    #puts b
    #c=Dir.glob("./work/*.rb")
    #puts c
    d=Dir.glob("F://workspace//test/**/*.rb")
    puts d

    Dir.foreach("./") do |x|
      puts "Got #{x}"
    end

    #File.delete(filename)
    #FileUtils.rm_r("F:\\Test\\Good.txt")

    if File.exist?("./usr/local/ruby")
      FileUtils.rm_r Dir.glob('./usr/local/ruby')
    else
      FileUtils.mkdir_p './usr/local/ruby'
    end

    FileUtils.cp("./testfile/test.txt","./testfile/test1/test.txt")
    #FileUtils.mv("./testfile/test.txt","./testfile/test1/test1.txt")

    #FileUtils.mv("./testfile/test2/", "./testfile/test1/")

    #FileUtils.mv("F:\\Good", "E:\\Good")

    #   FileUtils.cmp("F:\\test1.rb", "F:\\test2.rb")

  • 相关阅读:
    idapython常用api记录7.0
    Ubuntu(16.0.4)上编译android8.1源码(资料最全版本)
    Frida常用方法
    Frida Java Hook 详解(安卓9):代码及示例(下)
    Frida Java Hook 详解(安卓9):代码及示例(上)
    windows命令行工具导出系统日志——wevtutil
    帆软 V9 Getshell
    和信创天云桌面命令执行
    天擎越权访问
    天擎-前台SQL注入
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2637181.html
Copyright © 2020-2023  润新知