Я делаю лицензию на программные продукты моего работодателя.Приложение представляет собой веб-приложение, развернутое в Tomcat.Приложение развернуто в помещении клиента.
Я использую Maven в качестве инструмента для сборки.Мой файл лицензии на тестирование находится по адресу src/main/resources/License.lic
.Это означает, что мне нужно прочитать License.lic, который имеет зашифрованный текст.После входа в систему я расшифровываю и проверяю, действительна ли лицензия или нет.Наконец, я записываю что-то обратно в файл лицензии (License.lic).
Проблема, с которой я столкнулся, заключается в том, что после проверки я изменяю обновленный текст и шифрую его, но не могу выполнить обратную запись в license.lic.И чтение, и запись выполняются в статическом методе.
Мои коды для обратной записи в License.lic следующие:
protected static void writeToLicense(LicenseData licData) throws Exception{
String plainText = licData.toString();
String encText = LicenseEncDec.encrypt(plainText);
System.out.println("encText is "+encText);
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL url = classLoader.getResource(licFileName1);
File file = new File(url.toURI().getPath());
PrintWriter pw = new PrintWriter(new FileWriter(file));
pw.println(encText);
pw.flush();
pw.close();
}
Чтение из License.lic выглядит следующим образом:
private static String readFile() throws IOException {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream is = loader.getResourceAsStream(licFileName1);
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String line = br.readLine();
br.close();
is.close();
return line;
}
Не удалось переписать файл License.lic.Что-то не так с моими кодами?