【发布时间】:2021-10-01 14:28:24
【问题描述】:
假设我们有 50 个格式相似的 txt 文件,我们想要每个 txt 文件的第二行。我们只希望从最终结果中删除特殊字符,即哈希。 提到50个文件中只有3个文件的demo内容...
注意:我在文件中有特殊字符哈希,这里我不能提及。因此,在这里提到 hash txt。
1.txt
散列
hash 如何运行 JavaScript
散列
这里的问题的答案......可以是任意数量的行
2.txt
散列
hash 如何在 Windows 10 上安装 EclipseIDE
散列
这里的问题的答案......可以是任意数量的行
3.txt
散列
hash NetBeans - 如何增加编辑器、输出和菜单的字体大小
散列
这里的问题的答案......可以是任意数量的行
我想要的输出
如何运行 JavaScript
如何在 Windows 10 上安装 EclipseIDE
NetBeans - 如何增加编辑器、输出和菜单的字体大小
我试过的代码...
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException{
File[] files = {new File("1.txt"), new File("2.txt")};
// Fetching all the files
for (File file : files) {
if(file.isFile()) {
BufferedReader inputStream = null;
String line;
try {
inputStream = new BufferedReader(new FileReader(file));
while ((myline = inputStream.readLine()) != null) {
System.out.println(myline);
}
}catch(IOException e) {
System.out.println(e);
}
finally {
if (inputStream != null) {
inputStream.close();
}
}
}
}
}
}
【问题讨论】:
-
我没有遇到您真正的问题,但您可以使用
if( myline.contains("hash") ) , if( myline.endsWith("hash)) , if( myline.startsWith("hash))或许多其他方法和字符串上的模式来验证单词以检查,您可以在打印myline.replace("hash","")之前替换该行 -
好吧,
readLine给你一行。所以可以读第一行,把它扔掉,然后再读第二行(检查两者都不为空)。然后你有第二行的字符串,你可以删除哈希。如果该哈希具有固定长度,则只需使用String.substring(int)。否则,您可能必须使用正则表达式,具体取决于“哈希”模式的复杂程度。
标签: java file bufferedreader filereader