java 文件尾部或任意位置追加内容

不多bb,上代码

	@Test
	void f1() throws IOException{
		File file = new File("./a.txt");
		byte[] s="123456".getBytes();
		//方法一
		OutputStream out=new FileOutputStream(file,true);// 如果为true ,则字节将写入文件的末尾而不是开头
		out.write(s);
		//方法二
		RandomAccessFile randomAccessFile=new RandomAccessFile(file,"rw");// w写,r读
		randomAccessFile.seek(file.length());//调整文件指针,学过C/C艹的应该知道
		randomAccessFile.write(s);
	}

其中 RandomAccessFile 更为灵活 , 不过OutputStream安全点,自己取舍
在这里插入图片描述

### Java 中 Deque 接口的使用方法和实例 Deque 是双端队列(Double-ended Queue) 的缩写,在 Java 集合框架中是一个接口。它允许在两端进行插入和移除操作[^2]。 #### 创建 Deque 实例 可以使用不同类型的实现类来创建 `Deque` 对象,比如 `ArrayDeque` 者 `LinkedList`: ```java // 使用 ArrayDeque 创建 Deque 实例 Deque<String> deque = new ArrayDeque<>(); ``` #### 添加元素 通过调用不同的方法可以在队首队尾添加新元素: - **addFirst(E e)** 和 **offerFirst(E e)** 可以把指定元素插入到此双端队列所表示的队列的开头。 - **addLast(E e)** 和 **offerLast(E e)** 则会将给定元素追加在此双端队列所代表列表结尾处。 ```java deque.addFirst("first"); deque.offerLast("last"); ``` #### 移除元素 同样可以从任意一端删除元素并返回被删掉的那个值: - **removeFirst()** / **pollFirst()**: 获取并移除此双端队列的第一个元素;如果该集合为空,则抛出异常/返回 null。 - **removeLast()** / **pollLast()**: 获取并移除此双端队列最后一个元素;如果该集为空则抛出异常/null。 ```java String firstElement = deque.removeFirst(); String lastElement = deque.pollLast(); ``` #### 访问但不移除头部尾部元素 有时只需要查看而不必立即取出某个位置上的项: - **peekFirst()**: 返回第一个元素但是不会将其从队列里拿走。 - **peekLast()**: 查看最后面那个成员而无需把它取出来。 ```java System.out.println(deque.peekFirst()); System.out.println(deque.peekLast()); ``` #### 迭代遍历 Deque 当需要逐一遍历整个容器内的全部条目时可采用增强型for循环语句是迭代器模式来进行访问[^3]: ```java for (String element : deque){ System.out.println(element); } Iterator<String> iterator = deque.iterator(); while(iterator.hasNext()){ String nextItem = iterator.next(); System.out.println(nextItem); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾仪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值