`

FileUtils 基本文件操作

    博客分类:
  • ruby
 
阅读更多

FileUtils.cd( dir, *options )

 

 

FileUtils.cd( dir, *options ) {|dir| .... }

 

Options: noop verbose移动到dir目录。若被用作迭代器的话, 将在块停止工作之后返回原来的目录。 FileUtils.cd '/', :verbose # chdir and report it

 

FileUtils.uptodate?( newerolder_list, *options )

 

Options: verbose若newer比older_list中的任何文件都新的话,就返回真。不存在的文件会被看做是最老的文件。 FileUtils.newest? 'hello.o', 'hello.c', 'hello.h' or system 'make'

 

FileUtils.mkdir( dir, *options )

 

Options: noop verbose生成dir目录 。 FileUtils.mkdir 'test' FileUtils.mkdir %w( tmp data ) FileUtils.mkdir 'notexist', :noop # does not create really

 

FileUtils.mkdir_p( dir, *options )

 

Options: noop verbose将生成dir目录及其所有上级目录。例如 FileUtils.mkdir_p '/usr/local/lib/ruby'将生成下列所有目录(若没有的话)。 * /usr * /usr/local * /usr/local/bin * /usr/local/bin/ruby

 

FileUtils.rmdir( dir, *options )

 

Options: noop, verboseremoves directory DIR. FileUtils.rmdir 'somedir' FileUtils.rmdir %w(somedir anydir otherdir) # does not remove directory really, outputing message. FileUtils.rmdir 'somedir', :verbose, :noop

 

FileUtils.ln( oldnew, *options )

 

Options: force noop verbose生成指向old的硬连接new 。若new已存在且为目录时,生成new/old 。若new已存在且不是目录的话,会引发Errno::ENOTDIR异常。但是若指定了force选项的话,就会覆盖new。 FileUtils.ln 'gcc', 'cc', :verbose FileUtils.ln '/usr/bin/emacs21', '/usr/bin/emacs'

 

FileUtils.ln( listdestdir, *options )

 

Options: force noop verbose生成指向list[0]的硬连接destdir/list[0]和指向list[1]的硬连接destdir/list[1]...。若 destdir不是目录的话, 将引发Errno::ENOTDIR异常。 include FileUtils cd '/bin' ln %w(cp mv mkdir), '/usr/bin'

 

FileUtils.ln_s( oldnew, *options )

 

Options: force noop verbose生成指向old的符号连接new 。若new已存在且为目录时,生成new/old 。若new已存在且不是目录的话,会引发Errno::ENOTDIR异常。但是若指定了force选项的话,就会覆盖new。 FileUtils.ln_s '/usr/bin/ruby', '/usr/local/bin/ruby' FileUtils.ln_s 'verylongsourcefilename.c', 'c', :force

 

FileUtils.ln_s( listdestdir, *options )

 

Options: force noop verbose生成指向list[0]、list[1]...的符号连接 dir/list[0], dir/list[1]...。若destdir不是目录的话,将引发 Errno::ENOTDIR异常。生成指向list[0]的符号连接 destdir/list[0]和指向list[1]的符号连接destdir/list[1]...。若destdir不是目录时,将引发 Errno::ENOTDIR异常。 FileUtils.ln_s Dir.glob('bin/*.rb'), '/home/aamine/bin'

 

FileUtils.ln_sf( srcdest, *options )

 

Options: noop verbose与ln_s(src,dest,:force)相同。

 

FileUtils.cp( srcdest, *options )

 

Options: preserve noop verbose将文件src拷贝到dest。若dest是目录的话,就拷贝到dest/src。若dest早已存在且并非目录时将进行覆盖。 FileUtils.cp 'eval.c', 'eval.c.org'

 

FileUtils.cp( listdir, *options )

 

Options: preserve noop verbose把file1拷贝到dir/file1,把file2拷贝到dir/file2,就这样将file1、file2以相同的文件名拷贝到 dir目录。若dir并非目录时, 会引发Errno::ENOTDIR异常。 FileUtils.cp 'cgi.rb', 'complex.rb', 'date.rb', '/usr/lib/ruby/1.6' FileUtils.cp :verbose, %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6'

 

FileUtils.cp_r( srcdest, *options )

 

Options: preserve noop verbose将src拷贝到dest。若src是目录则进行递归式的拷贝。此时若dest是目录,则拷贝到dest/src。 # installing ruby library "mylib" under the site_ruby FileUtils.rm_r site_ruby + '/mylib', :force FileUtils.cp_r 'lib/', site_ruby + '/mylib'

 

FileUtils.cp_r( listdir, *options )

 

Options: preserve noop verbose将list[0]、list[1], list[2]...等拷贝到dir目录中.若list[n]是目录的话,就进行递归式的拷贝。 FileUtils.cp_r %w(mail.rb field.rb debug/) site_ruby + '/tmail' FileUtils.cp_r Dir.glob('*.rb'), '/home/aamine/lib/ruby', :noop, :verbose

 

FileUtils.mv( srcdest, *options )

 

Options: noop verbose将from移动直to。若to是目录,就移动到to/from。若给出了3个以上的参数时, 将把其他文件移动到dir目录中。 FileUtils.mv 'badname.rb', 'goodname.rb' FileUtils.mv 'stuff.rb', 'lib/ruby', :force

 

FileUtils.mv( listdir, *options )

 

Options: noop verbose将file1 file2...移动到dir/file1 dir/file2...若进行跨区移动时,则进行拷贝。 FileUtils.mv 'junk.txt', 'dust.txt', '/home/aamine/.trash/' FileUtils.mv Dir.glob('test*.rb'), 'T', :noop, :verbose

 

FileUtils.rm( list, *options )

 

Options: force noop verbose删除list[0]、list[1]...。若指定了:force 选项的话,则会忽略操作过程中所有的StandardError。 FileUtils.rm %w( junk.txt dust.txt ) FileUtils.rm Dir['*.so'] FileUtils.rm 'NotExistFile', :force # never raises exception

 

FileUtils.rm_r( list, *options )

 

Options: force noop verbose删除list[0], list[1]...文件或目录.若使用了force选项时,将忽略StandardError。 FileUtils.rm_r Dir.glob('/tmp/*') FileUtils.rm_r '/', :force # :-)

 

FileUtils.rm_rf( list, *options )

 

Options: noop verbosesame to rm_r(list,:force)

 

FileUtils.cmp( file_afile_b, *options )

 

Options: verbose若文件a和文件b的内容相同, 则返回真。 FileUtils.cmp 'somefile', 'somefile' #=> true FileUtils.cmp '/bin/cp', '/bin/mv' #=> maybe false.

 

FileUtils.install( srcdestmode = <src's>, *options )

 

Options: noop verbose若from与to内容不同时,才会将from拷贝到to。此时会将模式设为mode。 FileUtils.install 'ruby', '/usr/local/bin/ruby', 0755, :verbose FileUtils.install 'lib.rb', '/usr/local/lib/ruby/site_ruby', :verbose

 

FileUtils.chmod( modelist, *options )

 

Options: noop verbose将文件LIST[0]、LIST[1]...的permission变为mode. FileUtils.chmod 0644, 'my.rb', 'your.rb' FileUtils.chmod 0755, 'somecommand' FileUtils.chmod 0755, '/usr/bin/ruby', :verbose

 

FileUtils.touch( list, *options )

 

Options: noop verbose更新list[0], list[1]...的最终修改时间(mtime)和访问时间(atime).若list[n]并不存在时,就生成空文件。 FileUtils.touch 'timestamp' FileUtils.touch Dir.glob('*.c'); system 'make'

分享到:
评论

相关推荐

    java文件操作

    在这个场景中,我们关注的是Apache Commons IO中的`FileUtils`类,它包含了丰富的静态方法,用于执行各种文件操作,比如文件的复制、移动、删除等。 `FileUtils`类中的`copyFile()`方法是其核心功能之一,它提供了...

    文件操作及所需jar

    例如,Apache Commons IO库提供了许多方便的文件操作工具类,如`org.apache.commons.io.FileUtils`,可以简化很多常见任务。 在实际开发中,我们可能还会遇到多线程环境下的文件操作,这时需要考虑同步问题,防止多...

    一个文件操作类。

    但我们可以通过常规的理解来推测,这个博客文章可能详细解释了如何使用一个特定的文件操作类,可能是作者自己实现的,也可能是某个库的一部分,例如Apache Commons IO库中的`FileUtils`。 标签“源码”表明我们将...

    java 文件操作

    - Apache Commons IO库提供了丰富的文件操作工具类,如`FileUtils`,简化了常见的文件操作。 10. **异常处理**: - 文件操作常涉及`IOException`,需妥善处理,例如使用try-catch-finally结构。 以上就是Java...

    Java字符编码及获取文件编码

    首先,我们了解基本的字符编码体系,如ASCII、ISO-8859-1和Unicode。ASCII是最基础的7位编码,可表示128个不同的字符,主要针对英语字符。ISO-8859-1是8位编码,支持更多的西欧字符。而Unicode则是一个广泛采用的...

    FileUtils.rar

    在Java编程环境中,文件操作是常见且至关重要的任务之一,特别是在处理压缩文件时。本示例着重于如何使用Java来实现.7z和.zip格式的文件夹压缩与解压功能。`.7z`格式是一种高效的压缩算法,由7-Zip软件提供支持,而`...

    Exp5_jframe_文件_操作器_

    在这个实验中,`FileUtils.java`可能是自定义的一个工具类,包含了对文件操作的封装。例如,它可能会有`searchFiles(String path, String keyword)`方法用于根据指定路径和关键字搜索文件,以及`copyFile(File ...

    fileutils-maven-plugin

    fileutils-maven-插件fileutils-maven-plugin 是一个构建插件,用于对文本文件执行一些基本操作。目标概述fileutils-maven-plugin 提供了几个目标。 fileutils-maven-plugin:concatFileList 将文件内容连接到输出...

    Java上传下载文件操作用到的jar

    为了实现这些功能,开发者通常会依赖一些库,这些库提供了便捷的API来处理文件操作。在这个压缩包中,包含的“commons”系列jar文件就是用来支持文件上传和下载的核心组件。 1. **Apache Commons FileUpload**: 这...

    em-file-utils:允许使用UNIX命令(例如标准库FileUtils)进行基本文件操作,但返回CommandBuilder对象,该对象允许对最终调用和异步事件EventMachine接口支持进行广泛的自定义(尽管不是必需的)

    em-file-utils允许使用UNIX命令(例如标准库进行基本文件操作,但返回对象,该对象允许对最终调用和异步事件接口支持进行广泛的自定义(尽管不是必需的)。 仅支持基于 / 的系统。 一些例子: # synchronous ...

    文件操作类

    本文将深入探讨"文件操作类"这一主题,重点关注Java中用于文件操作的常用工具类`FileUtils`。 `FileUtils`是Apache Commons IO库中的一个类,它提供了大量静态方法,方便我们进行文件和目录的处理。Apache Commons ...

    java文件操作大全.pdf

    Java 文件操作是编程中常见的任务,它涉及到对磁盘上文件和目录的创建、删除、读取、写入等一系列操作。以下是对 Java 文件操作的详细解释: 1. 创建文件夹:在 Java 中,我们可以使用 `java.io.File` 类的 `mkdir...

    文件操作

    在IT行业中,文件操作是一项基础且重要的技能,无论是开发、测试还是系统管理,都需要频繁地进行文件的读取、写入、移动等操作。这里我们将深入探讨“文件操作”这一主题,结合“源码”和“工具”的标签,以及提供的...

    安卓SD卡文件管理更新信息相关-Android文件操作列表显示进入退出删除复制粘贴新建文件等等.rar

    在Android系统中,文件管理是应用开发...总之,这个压缩包提供了一个学习和参考Android SD卡文件管理的起点,涵盖了文件操作的基本方法以及UI交互的设计。通过理解和修改这些代码,开发者可以构建自己的文件管理应用。

    java文件操作大全[整理].pdf

    Java文件操作是编程中常见的需求,它涉及到...以上就是Java文件操作的基本知识点,理解并掌握这些方法,可以方便地在Java程序中进行文件和文件夹的操作。在实际编程中,还需要注意异常处理,确保操作的可靠性和安全性。

    java上传文件jar

    这两个库提供了强大的文件操作和文件上传功能,是Java开发者处理文件上传问题的得力助手。 首先,`commons-io-2.5.jar`是Apache Commons IO库的一部分,这是一个用于处理输入/输出操作的Java库。它提供了许多实用...

    C#类库典藏版源码 包含有FTP操作类、导出Excel、文件操作类、弹出消息类等.rar

    这个“C#类库典藏版源码”包含了多种实用的类,如FTP操作类、导出Excel、文件操作类和弹出消息类,这些都是日常开发中常见的需求。接下来,我们将深入探讨这些知识点。 1. FTP操作类:FTP(File Transfer Protocol...

    java读写文件实例

    本文将基于提供的代码片段,深入解析Java中读写文件的关键知识点,包括使用`FileInputStream`、`FileOutputStream`以及Apache Commons IO库中的`FileUtils`类进行文件操作的方法。 ### 使用File类 `File`类是Java...

    java 强制删除使用中的文件

    3. **借助第三方库**:有一些第三方库,如`Apache Commons IO`,提供了更高级的文件操作功能。其`FileUtils.forceDelete()`方法可以尝试强制删除文件,包括处理被占用的情况。 4. **文件锁和JNI**:如果文件被Java...

Global site tag (gtag.js) - Google Analytics