#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库 图像文件处理

Ruby 文件处理的更多相关文章

  1. 雷林鹏分享:Ruby 文件的输入与输出

    Ruby 文件的输入与输出 Ruby 提供了一整套 I/O 相关的方法,在内核(Kernel)模块中实现.所有的 I/O 方法派生自 IO 类. 类 IO 提供了所有基础的方法,比如 read. wr ...

  2. ubuntu下ruby文件执行蛋疼的一个问题

    ubuntu下面用sublime打开非常简单的一段代码(其实不算代码,因为没有实际语句): #!/usr/bin/ruby 在shell下加入x权限:chmod u+x doit.rb,然后运行 ./ ...

  3. ruby文件操作

    Ruby代码 1.#读文件 2.f = File.open("myfile.txt", "r") 3.f.each_line do|line| 4.puts & ...

  4. Ruby 文件 FILE

    FileUtils.makedirs(LOCAL_DIR) unless File.exists?LOCAL_DIR require 'fileutils' Dir.mkdir(DATA_DIR) u ...

  5. Ruby之入门(一)

    前言 这门语言很少去听过,可能是没怎么用到就不会听到太多关于ruby的消息,工作需要这门语言,需要从0开始学习这门语言,慢慢学习简直...太神奇了...,原谅我见识浅薄.原来很早就已经出世了,园子中也 ...

  6. [Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置

    前情回顾 上次讲到Vmware虚拟机的安装配置以及Scientific Linux 6.X系统的安装.这回我们的主要任务是在Linux操作系统上完成Ruby on Rails开发环境的配置. 在配置环 ...

  7. Ruby自学笔记(二)— Ruby的一些基础知识

    Ruby安装好之后,我们就可以来实践Ruby语言了. 以下是一些学习到的简单基础知识: 1. 如何执行Ruby文件? 我们编写的Ruby文件是以rb为后缀名的,例如:XXX.rb.当要执行ruby文件 ...

  8. 开发环境准备:Ruby on Rails开发环境配置

    开发环境准备:Ruby on Rails开发环境配置 前情回顾 上次讲到Vmware虚拟机的安装配置以及Scientific Linux 6.X系统的安装.这回我们的主要任务是在Linux操作系统上完 ...

  9. 安装Ruby、Sass与Compass

    sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby.(注:mac下自带Ruby无需在安装Ruby!) window下安装SASS首先需要安装Ruby,先从官网下载Ruby并安装.安装 ...

随机推荐

  1. mysql数据库主外键级联删除脚本RESTRICT --> CASCADE

    在项目中,我们一般在数据库设计的时候做主外键关联设计,要么就不做.但是这样不符合规范,呵呵. 建立主外键关系的时候,默认是不能级联删除的.而出现往往在删除主表的数据时报错, 需要先删除从表然后再删除主 ...

  2. Choosing Columns and Expressions to Index

    A key is a column or expression on which you can build an index. Follow these guidelines for choosin ...

  3. APAC Practice

    2016 round A A. Googol String small && large LL a[]; int dfs(LL pos, int id, bool f) { || po ...

  4. g++ gcc

    编写一个main.cpp,linux 下执行步骤: (1)g++ mian.cpp ./a.out 后缀名是.cpp,编译完成后的可执行文件一般是a.out,也可以自己指定. (2) 编译命令(C): ...

  5. hadoop 2.2.0的datanode中存储block的多个文件夹的负载均衡问题

    hadoop的分布式文件系统HDFS的存储方式是,将数据分成block,分布式存储在整个hadoop集群的datanode中,每个block默认的大小是64M,这些block文件的具体存储位置是在ha ...

  6. 李洪强iOS开发之【零基础学习iOS开发】【01-前言】02-准备

    在上一讲中,介绍了什么是iOS开发.说简单一点,iOS开发,就是开发运行在iPhone或者iPad上的软件.这么一说完,应该有很多人就会产生一些疑惑,比如学习iOS开发是不是一定要买iPhone?需不 ...

  7. Python中的SET集合操作

    python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...

  8. win32 api ShouCursor 根据内部计数器 是否>= 0 决定是否 显示光标,每true时计数器+1,每false-1

    win32 api ShouCursor 根据内部计数器 是否>= 0 决定是否 显示光标,每true时计数器+1,每false-1,编程时true 和 false 的次数容易产生bug.

  9. POI 中的CellRangeAddress 参数

    在用poi在EXECL报表设计的时候,遇到单元格合并问题,用到一个重要的函数: CellRangeAddress(int, int, int, int) 参数:起始行号,终止行号, 起始列号,终止列号 ...

  10. Bitmap 和Drawable 的区别

    Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565.RGB888.作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低.我们理解为一种存储对象比较好 ...