zoukankan      html  css  js  c++  java
  • Ruby 文件处理

    #r read,
    #w write,
    #a append,
    #r+ 读写方式 从文件的头位置开始读取或写入,
    #w+ 读写方式,如果文件已存在清空该文件,不存在就创建一个新的文件, 
    #a+ 如果文件存在就在最后面附加,如果不存在就创建一个新文件。
    FileName="newfile.txt"
    file=File.open(FileName,'a')
    
    file.puts 'test'
    p file.path
    file.close
    p File.file?(FileName)
    #Dir.foreach("C:/") { |dir| puts dir  }
    puts "追加的文件:#{FileName}"
    File.open(FileName,'a+') do |io|
      (1..10).each do |i|    
        io.puts "追加的文件:#{FileName}第 #{i}行数据"#写入文件
      end
    end
    File.open(FileName,'r+') { |io|
      io.each { |i|
        #puts "行号:#{io.lineno}:#{i}"#读取文件
      }    
    }
    #File.rename(old_name, new_name)#重命名文件
    #File.delete(file_name) #删除文件
    file_size= File.size(FileName)#获取文件的字节大小
    puts file_size
    file=File.open(FileName)
    puts "创建时间#{file.stat.ctime}"#创建时间
    puts "最后修改时间#{file.stat.mtime}"
    puts "最后访问时间#{file.stat.atime}"
    
    puts "当前工作目录:#{Dir.pwd}"
    if !File.directory?(Dir.pwd+'/testdir')
      Dir.mkdir 'testdir'#创建目录
    end
    
    Dir.foreach(Dir.pwd) do |dir|
      #puts dir#列出当前目录下所有文件和子目录
    end
    
    Dir.chdir('C:/')  #更改当前工作目录
    puts "当前工作目录:#{Dir.pwd}"
    
    #加载当前目录中所有的子目录和文件,会占用大量的内存,另一种方法是使用find模块
    #Dir.glob('**/**').each  do   |filename| 
    #  puts filename  
    #end
    
    #require "find" #包含find模块
    #Find.find(Dir.pwd) { |path| puts path  }
    
    require "rexml/document"
    docxml=REXML::Document.new
    element=docxml.add_element('book',{'name'=>'Ruby book'})
    chapter1=element.add_element('c1',{ 'title'=>'c11'})
    chapter2=element.add_element('c2',{ 'title'=>'c22'})
    
    chapter1.add_text 'chapter1' 
    chapter2.add_text 'chapter2'
    docxml.write
    
    #YMAL库
    #FPDF库 生成PDF
    #Rubyzip库 读写zip文件
    #Rmagick库 图像文件处理
  • 相关阅读:
    python 语言 yaml文件嵌套另一个yaml
    APP混合原生和H5页面中,appium 与X5内核那些事
    mac appium python 自动化环境搭建遇到的问题
    Appium+Python自动化测试学习笔记
    Appium遇到异常处理
    Android 电池分析工具
    lsof命令使用
    Django入门(一)基础环境搭建
    gunicorn部署Flask服务
    自动化测试-数据驱动实践(126发邮件)
  • 原文地址:https://www.cnblogs.com/smailxiaobai/p/4203926.html
Copyright © 2011-2022 走看看