【发布时间】:2015-09-27 22:19:03
【问题描述】:
使用 BufferedReader:我有一个文本文件,其中包含如下所列的类似行。 文本文件行示例:
ABC DEF EFG 1.2.3.3 MGM -Ba\
10.101.0.10
如何在-Ba 之后删除行字符\ 的结尾,并将下一行/字段加入第一行以获得新行,然后将其存储在数组中以便稍后打印。
如果在第一行的末尾找到\,我想要的是能够加入两行,然后分配由分隔符分隔的“2行”(现在是一行)的每个元素“ “到我可以稍后调用打印的字段。但我也想删除在行尾发现的不需要的字符\。
这是我想要存储在数组中的新组合行
Field-1 Field-2 Field-3 Field-4 Field-5 Field-6;
新数组的第一行将等于
Field-1 = ABC Field-2 = DEF Field-3 = EFG Field-4 = 1.2.3.3 Field-5 = -Ba Field-6 = 10.101.0.10;
如果在第一行的末尾找到\ char,则将生成新的组合行(二合一)。
到目前为止我在 Bufferedreader 类中的内容
public class ReadFile {
private String path;
ReadFile(String filePath) {
path = filePath;
}
public String[] OpenFile() throws IOException {
FileReader fr = new FileReader(path);
BufferedReader textReader = new BufferedReader(fr);
int numberOfLines = readLines();
String[] textData = new String[numberOfLines];
for (int i = 0; i < numberOfLines; i++) {
textData[i] = textReader.readLine();
}
textReader.close();
return textData;
}
//Not sure if It's better to have while loop instead of this to reach end of file, let me know what you think?
int readLines() throws IOException {
FileReader f2r = new FileReader(path);
BufferedReader bf = new BufferedReader(f2r);
String aLine;
int numberOfLines = 0;
while ((aLine = bf.readLine()) != null) {
numberOfLines++;
}
bf.close();
return numberOfLines;
}
}
【问题讨论】:
标签: java arrays java.util.scanner bufferedreader