Я занимаюсь веб-сервером, и он должен прочитать конфигурационный файл txt и назначить номер порта, каталог, файл index.html по умолчанию и т. Д. но когда он проверяет значение index.html, он продолжает говорить, что он не существует, хотя файл существует.Java Files.exists() возвращает false, даже если файл существует
TXT файл содержит следующее:
port=80
directory=c:\www
index=index.html
listing=true
connexions=5
Я проверил файлы разрешений и, кажется, не будет заблокирован. Я пытался как .exists()
и getAbsoluteFile().Exists()
и возвращают ложные Вот если код для чтения в файле:
try {
BufferedReader br = new BufferedReader(new FileReader(config));
while((line = br.readLine()) != null){
tokens = line.split("=");
if(tokens.length > 1) {
switch (tokens.length) {
case 0:
if (Integer.parseInt(tokens[1]) > 0 && Integer.parseInt(tokens[1]) < 65535) {
portNumber = Integer.parseInt(tokens[1]);
param++;
} else {
System.err.println("Port in config file is invalid.");
System.exit(1);
}
break;
case 1:
File check = new File(tokens[1]);
if (check.getAbsoluteFile().exists()) {
rootPath = path ? args[1] : tokens[1];
param++;
} else {
System.err.println("Specified directory doesn't exist in config file");
System.exit(1);
}
break;
case 2:
File checkFile = new File(rootPath + "\\" + tokens[1]);
if (checkFile.getAbsoluteFile().exists()) {
indexFile = tokens[1];
param++;
} else {
System.err.println("Index file in config file doesn't exist.");
System.exit(1);
}
break;
case 3:
if (tokens[1].toLowerCase().equals("true") || tokens[1].toLowerCase().equals("false")) {
list = tokens[1].equals("true");
param++;
} else {
System.err.println("Can't validate the list parameter in config file.");
System.exit(1);
}
break;
case 4:
if (Integer.parseInt(tokens[1]) > 0) {
connNumber = Integer.parseInt(tokens[1]);
param++;
} else {
System.err.println("Number of connexions in config file is invalid.");
System.exit(1);
}
break;
default:
break;
}
}
else{
System.err.println("Missing arguments in config file.");
System.exit(1);
}
}
Не могли бы вы указать значение пути к файлу непосредственно перед выполнением check.getAbsoluteFile(). Exists()? Может быть, это просто сбой в форматировании пути – whymatter