返回信息流private void jTextArea1KeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
int k = evt.getKeyCode();
String s="/home/test/1";
int i=1;
if(k==KeyEvent.VK_DOWN) //如果按下键盘上的DOWN键
{
try{
jTextArea1.setText("");//清空textarea
FileReader fr = new FileReader(s);
BufferedReader br = new BufferedReader(fr);
String readoneline;
// br.reset();
while((readoneline=br.readLine())!=null){
jTextArea1.append(readoneline);
// jTextArea1.append("\n");
System.out.println("line"+i+":"+readoneline);
i++;
// br.mark(10);
break;
}
//br.mark(100);
// br.reset();
br.close();
fr.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
我想实现的是每按一次向下键,就读取下一行。
请大家指点下。
这是一条镜像帖。来源:北邮人论坛 / java / #28921同步于 2014/3/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
用readLine方法读txt,为什么每次都只读第一行。
happybupt
2014/3/21镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 happybupt 的大作中提到: 】
: 那怎么可以解决只打开一次。其实我也感觉是这个问题。但不知道该怎么改
: 发自「佳邮」
可以描述一下你的最终需求吗?
个人只想到两种方式,一个是一次读完文件存缓存里,需要的时候取出来;还有一个是二楼说的,在循环里放按钮的出发判断,如果没有需求再break~~~
不知到有没有帮助
每次都重新打开,肯定是读第一行。
如果文件不太大的话
可以设置一个ArrayList list成员变量,一个int flag=0;
初始化的时候把文件内容按行保存到list里面,
每次按键执行 list.get(flag); flag++;