使用RandomAccessFile向文件尾端追加内容

    @Test
    public void BufferReaderTest() throws FileNotFoundException{
        //System.in为字节流,需要使用InputStreamReader转成字符流
        InputStreamReader isr = new InputStreamReader(System.in);
        //把普通Reader包装成BufferedReader(具有缓冲功能,能按行读取)
        BufferedReader br = new BufferedReader(isr);
        //使用构造器RandomAccessFile,文件和文件的访问模式
        RandomAccessFile raf = new RandomAccessFile(new File("D:/RUNNING_COPY.txt"), "rw");
        String line = null;
        try {
            //循环逐行读取
            while((line = br.readLine())!=null){
                if (line.equals("exit")) {
                    System.exit(1);
                }
                //记录指正移动到最后
                raf.seek(raf.length());
                //写入内容
                raf.write((line+"\r\n").getBytes());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                br.close();
                isr.close();
                raf.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
时间: 2024-08-01 04:18:29

使用RandomAccessFile向文件尾端追加内容的相关文章

23 遍历删除本地目录的方法,文件末尾追加内容,按行读取文件内容

1.遍历删除本地目录 /** * 递归删除非空目录 * @param file */ public static void deletNotEmptyDir(File file){ File[] files = file.listFiles(); if (files != null) { for (File f : files) { deletNotEmptyDir(f); } } file.delete(); } 2.文件末尾追加内容 /** * 在文件末尾追加字符串 * @param fil

Writer字符流向文件末尾追加内容实例

1 import java.io.*; //导入所有io相关的包 2 public class file3{ 3 public static void main(String[] args)throws Exception{ 4 File f=new File("e:"+File.separator+"test.txt"); //选择需要写入内容的文件路径 5 Writer out=new FileWriter(f,true); //创建Writer对象,(f,tr

java文件末尾追加内容的两种方式

java 开发中,偶尔会遇到在文件末尾对文件内容进行追加,实际上有多种方式可以实现,简单介绍两种: 一种是通过RandomAccessFile类实现,另一种是通过FileWriter类来实现. 实现方法很简单,没什么可多说的,直接看代码: 1 public static void main(String[] args) throws Exception { 2 File file=new File(filename); 3 RandomAccessFile raf=new RandomAcces

在一个文件里追加内容和换行

由于今天要校验数据的完整性,需要把查询失败的SQL写入文件里,需要追加和换行,要用PHP的几个函数,php.net上说换行要用\r或\n或\r\n(根据操作系统进行选择),我按照php.net说的做但是不行,发现用常量PHP_EOL是可以的. 方法一: 1 $sql="SELECT $relation_primary_key,old_value FROM $relation_table WHERE name='{$row->$new_key}' AND state_types='{$old

RandomAccessFile操作文件

1 package file; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.io.RandomAccessFile; 8 9 10 public class InsertContent { 11 12 public static void insert(String

向HDFS中追加内容

最近项目开发中遇到的问题: 需要向生成好的hdfs文件中追加内容,但是线上使用的版本是1.0.3,查看官方文档发现,在1.0.4版本以后才支持文件append 一下是向hdfs中追加信息的操作方法 如果你只在某一个driver中追加内容信息,不必要对于整个HDFS都开启内容追加: 在某个方法中,追加文件信息: private void combinerMid(Path input,Path output,Configuration conf){ FileSystem hdfs = null; c

Java的RandomAccessFile对文件内容进行读写

 RandomAccessFile是Java提供的对文件内容的访问,她既可以读文件,也可以写文件,并且RandomAccessFile支持随机访问文件,也就是说他可以指定位置进行访问.   我们知道Java的文件模型,文件硬盘上的文件是byte byte byte的字节进行存储的,是数据的集合.下面就是用这个类的步骤. (1)打开指定的文件,有两种模式“rw”(读写) “r”(只读),创建对象,并且指定file和模式,例如:       RandomAccessFile ac=new Rando

C#文件监控工具(对追加内容的监控并输出)

C#文件监控(对追加内容的监控并输出),适合监控某个目录下的日志文件(log),开发初衷是linux上部署在jexus部署网站后想实时输出jexus的log和自己站点的log文件(已经测试通过在mono下的运行,所以是支持win和linux的工具). 这样我SSH链接后mono AppendContentToCosole.exe后就可以实时查看log,再也不用cat log.log了. 运行后会打印输出监控的目录和相关参数 应用同级有个parem.txt的配置文件可以配置监控的目录和所需监控的文

nodejs文件追加内容

const fs = require("fs"); // fs.appendFile 追加文件内容 // 1, 参数1:表示要向那个文件追加内容,只一个文件的路径 // 2, 参数2:表示要追加的内容 // 3, 可选参数,表示追加文本内容的编码格式,如果省略,默认为utf-8 // 4, 参数4: 表示追加完成之后的回调[有一个参数err,是判断是否追加成功] fs.appendFile("./http/111.txt","1111" , (e