Выдача команд жесткого диска с помощью java

Кто-нибудь знает способ отдавать команды на жесткий диск в Java? Поддерживает ли Java вообще такое взаимодействие с оборудованием?

Например, если у меня есть жесткий диск SCSI, который я хотел бы запросить, существует ли уже существующий Java-метод для этого, или мне придется написать свой собственный?

http://en.wikipedia.org/wiki/SCSI содержит некоторую общую информацию о командах SCSI на случай, если вы не знакомы.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 569
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Java не поддерживает такой прямой обмен данными с оборудованием. Однако вы можете использовать JNI для вызова функции C / C++ из Java, которая может.

Могу ли я использовать другие языки с JNI для доступа к жесткому диску или это ограничено C / C++? В качестве альтернативы, можно ли написать программу полностью на C / C++, которая вызывается / запускается программой Java?

troyal 24.12.2008 03:24

Да и да. Я слышал, что вы можете использовать это напрямую, и да, вы можете запускать целую программу из Java.

OscarRyz 24.12.2008 03:56

Нет, поскольку Java работает на «виртуальной» машине, а не на реальной. Но его можно было бы использовать как мост, как упоминал ранее ди-джей, используя JNI.

Согласно Википедия JNI также может вызывать сборку напрямую. JNI можно использовать для вызова полных программ, написанных на C или C++.

Если код C / C++ представляет собой законченную программу, нет причин использовать JNI; вы можете просто выполнить программу. JNI нетривиально реализовать, поэтому я бы не стал его использовать, если в этом нет необходимости. JNI используется для вызова функции на других языках. Я использовал его в Polaroid, чтобы поговорить с устройством для чтения кредитных карт.

dj_segfault 24.12.2008 07:14

Три слова «JNI или JNA». Я настоятельно рекомендую взглянуть на последний, чтобы увидеть, подходит ли он для вашей ситуации, вместо того, чтобы просто выбирать JNI.

вам нужно написать код интерфейса жесткого диска на C / C++, а затем вызвать его из Java с помощью JNI

Другие вопросы по теме