У меня есть файл config.properties в корне моего проекта blackberry (там же, где и файл Blackberry_App_Descriptor.xml), и я пытаюсь получить доступ к файлу для чтения и записи в него.
Смотрите ниже моего класса:
public class Configuration {
private String file;
private String fileName;
public Configuration(String pathToFile) {
this.fileName = pathToFile;
try {
// Try to load the file and read it
System.out.println("---------- Start to read the file");
file = readFile(fileName);
System.out.println("---------- Property file:");
System.out.println(file);
} catch (Exception e) {
System.out.println("---------- Error reading file");
System.out.println(e.getMessage());
}
}
/**
* Read a file and return it in a String
* @param fName
* @return
*/
private String readFile(String fName) {
String properties = null;
try {
System.out.println("---------- Opening the file");
//to actually retrieve the resource prefix the name of the file with a "/"
InputStream is = this.getClass().getResourceAsStream(fName);
//we now have an input stream. Create a reader and read out
//each character in the stream.
System.out.println("---------- Input stream");
InputStreamReader isr = new InputStreamReader(is);
char c;
System.out.println("---------- Append string now");
while ((c = (char)isr.read()) != -1) {
properties += c;
}
} catch (Exception e) {
}
return properties;
}
}
Я называю свой конструктор класса следующим образом:
Configuration config = new Configuration("/config.properties");
Так что в моем классе «file» должен иметь все содержимое файла config.properties, а fileName должно иметь это значение »/config.properties".
Но "имя" пусто, потому что файл не может быть найден ...
Я знаю, что это путь к файлу, который должен быть другим, но я не знаю, что я могу изменить ... Класс находится в пакете com.mycompany.blackberry.utils
Спасибо!