java I/O 读取一个txt文件中每一个空行之后的第一行,怎么办?
3个回答
展开全部
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(str.trim().eqlaus(""))//如果判断此行是空的,输出结果
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
if(str.trim().eqlaus(""))//如果判断此行是空的,输出结果
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
展开全部
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class FileProcessor {
public static void main(String[] args) throws IOException {
final String txtFile = "txt.txt";
BufferedReader bf = new BufferedReader(new FileReader(txtFile));
List<String> list = new ArrayList<String>();
String content = null;
String previous = null;
while((content = bf.readLine()) != null){
if(previous != null && previous.trim().equals("")){
list.add(content);
System.out.println(content);
previous = null;
}else{
previous = content;
}
}
bf.close();
}
}
---------------测试文本内容
adsl;
doctor
12345
how are
Students
sdfas
1234
abc123
enjoy
---------测试结果
12345
sdfas
abc123
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class FileProcessor {
public static void main(String[] args) throws IOException {
final String txtFile = "txt.txt";
BufferedReader bf = new BufferedReader(new FileReader(txtFile));
List<String> list = new ArrayList<String>();
String content = null;
String previous = null;
while((content = bf.readLine()) != null){
if(previous != null && previous.trim().equals("")){
list.add(content);
System.out.println(content);
previous = null;
}else{
previous = content;
}
}
bf.close();
}
}
---------------测试文本内容
adsl;
doctor
12345
how are
Students
sdfas
1234
abc123
enjoy
---------测试结果
12345
sdfas
abc123
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(new File("F:/abc.txt"))));
List<String> list = new ArrayList<String>();
String line = null;
boolean flag = false;
while((line = br.readLine()) !=null){
//上一行为空行
if(flag){
list.add(line);
flag = false;
}
//空行
if("".equals(line.trim()) ){
flag = true;
}
}
br.close();
//list即为你所需要的每一行信息
}
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(new File("F:/abc.txt"))));
List<String> list = new ArrayList<String>();
String line = null;
boolean flag = false;
while((line = br.readLine()) !=null){
//上一行为空行
if(flag){
list.add(line);
flag = false;
}
//空行
if("".equals(line.trim()) ){
flag = true;
}
}
br.close();
//list即为你所需要的每一行信息
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询