Java 使用file类循环输入文件
我正在尝试找出如何循环文件名。我有10个文件 每个文件都称为Myfile01.txt、Myfile02.txt、Myfile03.txt,一直到Myfile10.txt 我对第一个文件名做了类似的操作,它是用java编写的Java 使用file类循环输入文件,java,loops,input,output,Java,Loops,Input,Output,我正在尝试找出如何循环文件名。我有10个文件 每个文件都称为Myfile01.txt、Myfile02.txt、Myfile03.txt,一直到Myfile10.txt 我对第一个文件名做了类似的操作,它是用java编写的 String bob = new String("C:\\bob\\Myfile01.txt"); File file = new File(bob); Scanner myinput = new Scanner(file)
String bob = new String("C:\\bob\\Myfile01.txt");
File file = new File(bob);
Scanner myinput = new Scanner(file);
每个文件包含大约200行数据,我将这些数据存储在一个数组中,并使用.hasnext来确定哪些数据进入了哪个数组。每个名字用一行隔开
for (int i=0;i<=200;i++)
{
rank[i] = input.next();
firstname[i] =input.next();
lastname[i] = input.next();
dadname[i] = input.next();
momname[i] = input.next();
}
for(int i=0;iA循环和String.format
应该能满足您的需要:
for (int i = 1; i <= 10; i++) {
String bob = String.format("C:\\bob\\Myfile%02d.txt", Integer.valueOf(i));
// ...
}
for(int i=1;i如果您想浏览子目录,也可以尝试:
try {
Files.walk(Paths.get(directory)).filter(f -> Pattern.matches("myFile\\d{2}\\.txt", f.toFile().getName())).forEach(f -> {
System.out.println("WHAT YOU WANT TO DO WITH f");
});
} catch (IOException e) {
e.printStackTrace();
}
因此,如果我有MYfile2001.txt和myfile2002.txt,那就不起作用了?如果在字符串中的%
之前添加20
,这可能会起作用。但是,如果希望更灵活,则需要调整变量的初始值和条件(可能还有格式模式),以匹配文件名的格式。