62,623
社区成员
发帖
与我相关
我的任务
分享
boolean isWord = Pattern.matcher("^\\[\\w\\]$", line); //String line; 读取的行
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream("c:\\1.txt"), "utf-16"));
String line = "";
while (!"[B]".equals(line)) {
line = reader.readLine();
}
while (!"[C]".equals(line = reader.readLine())) {
System.out.println(line);
}
package com.ray.tests.readtext;
import java.io.*;
import java.util.ArrayList;
public class ReadFile {
public static ArrayList<MyArrayList> readFile() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader(
"src/com/ray/tests/readtext/a.txt"));
ArrayList<MyArrayList> list = new ArrayList<MyArrayList>();
String inputLine;
MyArrayList myArrayList = new MyArrayList();
boolean firstTime = true;
while ((inputLine = bufferedReader.readLine()) != null) {
if(inputLine.startsWith("[")){
//first time
if (firstTime) {
firstTime = false;
}
else {
list.add(myArrayList);
myArrayList = new MyArrayList();
}
String name = inputLine.substring(1, inputLine.length() - 1);
myArrayList.setName(name);
continue;
}
myArrayList.add(inputLine);
}
//last time
list.add(myArrayList);
bufferedReader.close();
return list;
}
public static void main(String[] args) throws IOException {
ArrayList<MyArrayList> list = readFile();
for (MyArrayList myArrayList : list) {
System.out.println("[" + myArrayList.getName() + "]");
for (String content : myArrayList) {
System.out.println(content);
}
}
}
}
package com.ray.tests.readtext;
import java.util.ArrayList;
public class MyArrayList extends ArrayList<String> {
private static final long serialVersionUID = 1L;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public MyArrayList(){
name = "";
}
public MyArrayList(String name){
this.name = name;
}
}
package edu.ytu.skychen;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
public class ReadFile {
/**
* @param args 文件名
*/
public static void main(String[] args) {
if (args.length != 1) { // 只能读一个文件
System.out.println("输入文件名");
return;
}
int i = 0; // 标记
try {
BufferedReader reader = new BufferedReader(new FileReader(new File(
name)));
StringBuilder sb = new StringBuilder(); // 保存需要的文本
String tmp; // 暂存
while ((tmp = reader.readLine()) != null) {
if (tmp.length() == 0) // 数标记的个数
i++;
if (i == 2) { // 第二个标记
sb.append(tmp + "\n");
}
}
System.out.println("文件内容: " + sb);
} catch (Exception e) {
e.printStackTrace();
}
}
}
final String file="A.txt";
fianl String bein="[b]";
final String end="[c]";
BufferedReader in = new BufferedReader(new FileReader(file));
String buf;
String result="";
while( null!=(buf=in.readLine()) && !buf.startsWith(begin) );
while( null!=(buf=in.readLine()) && !buf.startsWith(end) ) {
//这里有点问题,无法决定是恢复成"\n"还是"\r\n",而1楼的正则表达式则可保证不丢失这个信息
result = result+buf+"\n";
}