Windows предъявляет особые требования для прямого доступа к записи на дисковые тома . У вас должны быть права администратора и , вам нужно предпринять дополнительные шаги, чтобы продемонстрировать операционной системе, что вы не собираетесь перезаписывать содержимое смонтированной файловой системы (что может привести к сбою всего компьютера). fopen("//./D:", "w")
не предпринимает этих дополнительных шагов. Мне кажется, что вы не можете сделать это с fopen
, fread
, fwrite
и т.д .; вам нужно напрямую использовать примитивы операционной системы CreateFile , ReadFile, WriteFile и т. д.
(Как обсуждалось в Q & amp; A, который теперь закрыт как дубликат, первый из этих «дополнительных шагов» открывает путь к устройству для доступа для чтения и записи , даже если вы только означает запись - GENERIC_READ|GENERIC_WRITE
на уровне CreateFile. Режим fopen "w"
предоставляет только GENERIC_WRITE
для CreateFile. Также необходимо указать конкретное расположение, режим совместного использования, атрибуты файла, атрибуты безопасности и т. д.)
Извините, Вам нужно будет скопировать не Java-файлы вручную. Ресурсы технически не являются "источником". Командная строка javac не будет копировать файлы ресурсов из вашего исходного каталога в выходной каталог, равно как и задача ant для javac.
Нет такого параметра. Вы можете копировать все виды файлов между вашими каталогами с помощью:
<copy todir="build">
<fileset dir="src"
includes="**/*.xml,**/*.properties,**/*.txt,**/*.ico" />
</copy>
Нет, нет. Задача копирования - это правильный способ копирования ресурсов в папки сборки.