Я пытаюсь пометить папку только для чтения с помощью Java. Вызов функции setWritable(false). Но это не запрещает создание нового файла в этой папке. Я много об этом читал, и оказалось, что Windows не учитывает флаг «только чтение» для папок. Есть ли какое-нибудь решение, которое можно использовать для пометки папки только для чтения в том смысле, что она будет вести себя, как, скажем, в Linux? [Я уже спрашивал об этом на stackoverflow, и один пользователь предложил попробовать здесь на superuser.]
1 ответ
Я советую вам сначала создать приложение и принять во внимание вредные действия, которые использует ваше приложение, вы можете потенциально сделать.
Затем примите во внимание ограничения языка программирования, в данном случае java, чтобы отклонить те методы, которые взаимодействуют с системой напрямую через серверную часть приложения.
Следует понимать, что некоторые методы, такие как показ атрибутов, не защищены от чтения.
Хороший дизайн, в данном случае, на мой взгляд -
- Виртуальная файловая система, которая защитит файловую систему операционной системы от прямого вмешательства пользователя
- серверные команды, например, на основе SOAP, которые будут утверждены сервером для отправки части команды
- Язык клиентской операционной системы, которая будет выполнять команды с SOAP-сервером.
Это минимальное скелетное приложение. Затем вы можете добавить индексацию виртуальной файловой системы и другие полезные функции.
Да, вы можете решить эти проблемы напрямую, используя JavaFX или JNI.
Но это опасный путь с точки зрения безопасности.
И тупиковый путь в плане дальнейшего развития приложения.
Помимо прочего, вы можете решить использовать JNI, но простые вещи для языков системного программирования или языков .Net-приложений или административных сценариев Java очень сложны.
Что приводит нас к ненужному усложнению процесса проектирования.