【发布时间】:2015-05-14 01:18:12
【问题描述】:
我正在尝试读取配置文件和字符串文件。配置文件将用于判断字符串文件中的内容是否正确。
我创建了一个名为StringAcceptor的包,部分代码如下:
public static boolean isAccepted(File config, File lines_file, String string) throws Exception {
//BufferedReader para obtener las líneas del archivo
conf = new BufferedReader(new FileReader(config));
//BufferedReader para determinar la cantidad de líneas en el archivo
lines = new BufferedReader(new FileReader(lines_file));
//Validación de archivo de configuración del AFD
while(lines.ready()){
lines.readLine();
line_number = line_number + 1;
}
while(conf.ready()){
try{
在这里我开始读取行并将值分配给相应的变量
然后我创建了一个 java 文件来使用该包并将信息发送到我的 StringAcceptor 以确定字符串是否被接受。使用该包的类的代码如下。在导入所需的包并确定选项后,它会执行以下任一选项:
case 1:
System.out.print("\nInsert configuration file name: ");
path = br.readLine();
archivo = new File(path);
if(archivo.isFile()){
System.out.print("\nInsert string to be verified: ");
String string = br.readLine();
if(StringAcceptor.isAccepted(archivo, archivo, string)){
System.out.println("\nAccepted!\n");
} else{
System.out.println("\nNot accepted.\n");
}
} else {
System.out.println("\nFile does not exist.\n");
}
break;
case 2:
System.out.print("\nInsert configuration file name: ");
path = br.readLine();
archivo = new File(path);
if(archivo.isFile()){
System.out.print("\nInsert name of string file to be verified: ");
String string = br.readLine();
strings = new File(string);
if(strings.isFile()){
BufferedReader sfile = new BufferedReader(new FileReader(strings));
while(sfile.ready()){
if(StringAcceptor.isAccepted(archivo, archivo, sfile.readLine())){
System.out.println("\nAccepted!\n");
} else {
System.out.println("\nNot Accepted.\n");
}
}
} else{
System.out.println("\nFile does not exist.\n");
}
} else {
System.out.println("\nFile does not exist.\n");
}
//archivo.delete();
break;
case 3:
exit = true;
break;
default:
System.out.println("\nInvalid Option.\n");
每当我执行我的代码时,它都会出现以下菜单:
1) 验证字符串 2) 验证字符串文件 3) 退出 插入选项:
现在,无论我先选择哪个选项或首先使用哪个配置文件,它只会第一次正确执行,之后每次都不会进入while(conf.ready()) 条件,永远不会读取行和因为它,总是会返回false。
希望我的编辑使它更容易理解。
【问题讨论】:
-
干得好,但你能提供更小的例子吗?足以表明你的观点。不剪切和粘贴整个应用程序。
-
sscce.org - 简短、独立、正确的示例。
标签: java file bufferedreader