将内容添加至文件末尾

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);
		}
	}

猜你喜欢

转载自songjianyong.iteye.com/blog/1779777