Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中使用正则表达式从多个文本文件中读取数据?_Java_Regex_File Io - Fatal编程技术网

如何在java中使用正则表达式从多个文本文件中读取数据?

如何在java中使用正则表达式从多个文本文件中读取数据?,java,regex,file-io,Java,Regex,File Io,在一个目录中给定多个文件 我必须只读取目录中的文本文件,并打印其中的所有信息 我的实施: File filepath=new File("c:/test"); Pattern p=Pattern.compile("[a-zA-Z0-9_]+.txt"); String s1[]=filepath.list(); for (int i=0;i<s1.length;i++){ Matcher m=p.matcher(s1[i]); if(m.find()&&m.equals

在一个目录中给定多个文件

我必须只读取目录中的文本文件,并打印其中的所有信息

我的实施:

File filepath=new File("c:/test");
Pattern p=Pattern.compile("[a-zA-Z0-9_]+.txt");
String s1[]=filepath.list();
for (int i=0;i<s1.length;i++){
 Matcher m=p.matcher(s1[i]);
 if(m.find()&&m.equals(s1));
 System.out.println(s1[i]);
 File file1=new File(s1[i]);
 readFromFile(file1);       
 }

 static void readFromFile(File filename) throws IOException{
 String line = null;    
 FileReader fileReader = new FileReader(filename); //1

 BufferedReader bufferedReader = new BufferedReader(fileReader);
 while((line = bufferedReader.readLine()) != null) {
 System.out.println(line);
    }   
    bufferedReader.close();
    fileReader.close();

}
File filepath=新文件(“c:/test”);
模式p=模式.compile(“[a-zA-Z0-9_]+.txt”);
字符串s1[]=filepath.list();

对于(int i=0;i您在读取文件时可能会遇到问题

要了解您到底遇到了什么问题-“未找到文件”或“读取权限不足”-在打开文件进行读取或写入(以及读取目录)时始终捕获并打印异常:

这里是:


一旦你解决了这个问题,就转到文件解析。

我不知道你的问题,但是这个
if(m.find()&&m.equals(s1));
有缺陷:它是一个没有代码块的
if
。删除那个分号。此外,你可能需要在
if
for
循环的
末尾之间的所有东西都用大括号括起来。
public static void main (String[] args) {
    readFromFile(new File("nonexistant.txt"));
}

public static void readFromFile(File file) {
    try (FileReader fileReader = new FileReader(file);
         BufferedReader bufferedReader = new BufferedReader(fileReader)) {
        for (String line = bufferedReader.readLine(); 
             line != null; 
             line = bufferedReader.readLine()) {

            System.out.println(line);
        }
    } catch (Exception ex) {
            System.err.print(ex);
    }
}
java.io.FileNotFoundException: nonexistant.txt (No such file or directory)