public void append_to_end() { try { RandomAccessFile raf = new RandomAccessFile("mynewfile.txt", "rw");//读写方式打开文件 raf.seek(raf.length());//将记录指针移动到文件末尾 raf.write("你需要添加的内容\r\n".getBytes()); } catch (FileNotFoundException e) { log.error(e.getMessage(), e); } catch (IOException e) { log.error(e.getMessage(), e); } }
使用开源jar包[commons-is-2.4.jar]
public void append_to_end(){ File file = new File("append.txt"); try { FileUtils.write(file, "你需要添加的内容\r\n", true); FileUtils.write(file, "你需要添加的内容\r\n", "UTF-8", true); } catch (IOException e) { e.printStackTrace(); } }
以下摘自李刚编著《Java疯狂讲义》
public void seek(){//从指定的位置开始往下读取所有内容 try { RandomAccessFile raf = new RandomAccessFile("pom.xml", "r");//只读方式打开pom.xml文件 //获取RandomAccessFile对象文件指针的位置,初始位置是0 log.info("RandomAccessFile的文件指针的初始位置:" + raf.getFilePointer()); //移动raf的文件记录指针的位置 raf.seek(300); byte[] bbuf = new byte[1024];//每次读取大小1k //用于保存实际读取的字节数 int hasRead = 0; //使用循环来重复“取水”过程 while((hasRead=raf.read(bbuf)) > 0) { //取出“竹筒”中的水滴(字节),将字节数组转换成字符串输入 log.info(new String(bbuf, 0, hasRead)); } } catch (FileNotFoundException e) { log.error(e.getMessage(), e); } catch (IOException e) { log.error(e.getMessage(), e); } }