`
xu_wccq
  • 浏览: 130894 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

File io read/write to a file

    博客分类:
  • ruby
阅读更多
原本是想在以读写的方式打开一个文件,然后在此文件中查找相对应的字符并替换,起初偿试的是找到需要的字符后把文件的指针移动到此line的头位置,重写,然而重写的时候是replace而非insert,这样就导致了如果替换的字符小于或大于的时候,就会留下不能被替换掉。

f = File.open("/root/Desktop/test.txt","r+")

c=f.readline    =>   # "test file replace" len=17
假若需要把test字符换成 hello world
那么先把
f.seek(-17,IO:SEEK_CUR) 把文件指针移到test字符的前面,
然后用f.write("hello world")
这时你会发现,"test file replace" 被替换成了"hello worldreplace"

替换字符失败,此方法不行


而另想了个方法:
这个方法实现的是把文件全部读出,读出的同时进行替换,暂时存储在一个变量中,最后把替换完的文件再重写入文件。

此方法对于小文件没问题,要是文件有上面百M的时候,就难以行通了。
tmpfile = []
File.open("#{RAILS_ROOT}/app/controllers/#{MOULD_TABLE_NAME}_controller.rb","r").readlines.each do |line|
      re = Regexp.new(MOULD_CONTROLLER_NAME)
      re_model = Regexp.new(MOULD_MODEL_NAME)
        tmpfile << line.gsub(re,CHANNEL_CONTROLLER_NAME).gsub(re_model,CHANNEL_MODEL_NAME)
    end #auto close file
f=File.open(("#{RAILS_ROOT}/app/controllers/#{MOULD_TABLE_NAME}_controller.rb","w+")
f.write(tmpfile)
f.close



分享到:
评论
1 楼 xu_wccq 2008-01-15  
更多关于FILE CONTENT 的处理方法。

http://pleac.sourceforge.net/pleac_ruby/filecontents.html

相关推荐

    FileReadWrite with text aread output.zip_In Writing_file readers

    `FileReadWrite with text aread output.zip_In Writing_file readers`这个标题暗示了我们将会探讨如何在Java中读取和写入文本文件。让我们详细地了解这个主题。 首先,Java提供了一些内置的类来处理文件I/O操作,...

    File writeTo File

    标题 "File writeTo File" 涉及到的是Java编程中关于文件操作的一个重要主题,主要集中在如何将一个文件的内容写入到另一个文件中。在这个过程中,我们通常会使用到Java的IO流(Input/Output Stream)类库。下面将...

    File_实用案例_实现文件拷贝_FileCopy.java

    * This class is a standalone program to copy a file, and also defines a * static copy() method that other programs can use to copy files. **/ public class FileCopy { /** The main() method of the ...

    Android中安装asset下的apk

    3. **错误处理**:注意捕获并处理可能出现的异常情况,如IO异常等。 #### 六、总结 通过上述步骤,我们可以实现在Android应用中从`assets`目录安装APK文件的功能。这在某些场景下非常有用,例如当需要动态加载额外...

    Qt6 QML Book/扩展QML/FileIO实现示例源码

    **Qt6 QML FileIO实现详解** 在Qt6的QML环境中,开发人员可以利用强大的QML语言来构建用户界面,并通过与C++的交互来处理底层系统功能,如文件I/O操作。本示例源码主要展示了如何在QML中进行文件读写,为QML应用...

    锈板条箱扩展io :: Read和io :: Write类型与进度回调-Rust开发

    progress-streams Rust板条箱可为实现io :: Read或io :: Write的类型提供进度回调。 示例读者extern crate progress_strea progress-streams Rust板条箱可为实现io :: Read或io :: Write的类型提供进度回调。 示例...

    2_fileIO.rar

    在本资料"2_fileIO.rar"中,我们可以期待找到一系列关于Linux C文件I/O读写的源码示例,这对于理解这一核心概念至关重要。 在Linux环境下,C语言使用标准库`stdio.h`、`fcntl.h`、`unistd.h`和`sys/stat.h`等头文件...

    c语言代码内含900例c语言代码

    内含900例c语言代码 如 #include #include &lt;io.h&gt; void main (int argc, char *argv[]) { int access_mode;... printf("File cannot be read/write\n"); else printf("File can be read/write\n"); } }

    Java实现文件复制,File文件读取,写入,IO流的读取写入

    System.out.println("Failed to create the file."); } } ``` 3. **Java I/O流** Java I/O流提供了对输入输出操作的支持,包括字符流(CharStream)和字节流(ByteStream)。其中,`InputStream`和`...

    android 串口驱动

    /* Missing read/write permission, trying to chmod the file */ Process su; su = Runtime.getRuntime().exec("/system/bin/su"); /*String cmd = "chmod 777 " + device.getAbsolutePath() + "\n...

    早期moto的io.File包

    6. **权限和访问控制**:在Java 7之后,`io.File`增加了对文件权限的检查和设置功能,如`canRead()`, `canWrite()`, 和 `setReadable/writable/executable(boolean, boolean)`。 7. **文件监控**:从Java 7开始,`...

    IO读写操作c++IO读写操作c++

    file.write(reinterpret_cast*&gt;(&fnum), sizeof(fnum)); file.close(); return 0; } ``` 在上面的代码中,我们使用`write()`函数将整型变量`num`和浮点型变量`fnum`以二进制形式写入文件。注意,需要使用`...

    java IO数据流

    在Java中,进行文件操作主要依赖于`java.io.File`类。通过该类提供的方法,我们可以实现对文件和目录的基本管理,例如创建、删除、重命名文件或目录等。 **1.1 创建文件和目录** - `mkdir()` 方法用于创建单层目录...

    FileStorage(文件存储封装1)

    - **读写操作**:通过 `read()` 或 `write()` 方法进行读写,可以使用缓冲流和数据流优化性能。 - **关闭流**:使用 `close()` 方法关闭流,释放系统资源。 4. **文件存储封装**: - **抽象复杂性**:封装可以将...

    Write_Read_File.zip_file operation_operation

    首先,C#中的文件操作主要依赖于`System.IO`命名空间下的类,如`File`、`StreamReader`和`StreamWriter`等。要读取文件,通常会使用`File.ReadAllText`或`File.ReadLines`方法。例如,如果有一个名为"example.txt"的...

    javaIO流File类的使用共3页.pdf.zip

    - `canRead()`和`canWrite()`检查文件是否可读写。 - `length()`返回文件的大小(字节)。 - `lastModified()`获取文件的最后修改时间。 4. **文件路径的操作** - `getParent()`获取文件的父路径。 - `getName...

    java file类的方法

    在Java编程语言中,`java.io.File`类是一个非常重要的类,它提供了对文件和目录路径名的抽象表示,并且支持一些基本的操作,例如创建、删除文件或目录等。本文将详细介绍`File`类中的常用构造方法及方法,并给出相应...

    IO输入输出留

    java.io.File ============================================================================================ *表示磁盘文件或目录的路径 *可以表示一个不存在的路径 创建实例 -------------------------------...

    数据库性能监控

    db file sequential read(ms) log file parallel write(ms) log file sync(ms) db file scattered read(ms) #IO WorkLoad Oracle IOPS Oracle MBPS db file sequential read db file scattered read log file ...

    File 转 MultipartFile 和MultipartFile的maven配置

    要将`File`对象转换为`MultipartFile`,可以使用Apache Commons IO库中的`CommonsMultipartFile`类。以下是一个示例: ```java import org.apache.commons.fileupload.FileItemHeaders; import org.springframework...

Global site tag (gtag.js) - Google Analytics