-->

issuing hard drive commands with java

2019-02-28 14:59发布

问题:

Does anyone know of a way to issue commands to a hard drive within Java? Does Java even support this kind of hardware interaction?

For example, if I have a SCSI hard drive that I would like to inquiry, is there a pre-existing Java method to do this, or would I have to write my own?

http://en.wikipedia.org/wiki/SCSI has some general information on SCSI commands in case you aren't familiar.

回答1:

Java doesn't support talking directly to hardware like that. However, you can use JNI to call a C/C++ function from Java that can.



回答2:

Three words "JNI or JNA". I strongly recommend taking a look at the latter to see if it suits your situation, instead of just opting for JNI.



回答3:

No, since Java runs in a "virtual" machine rather than a real one. But it could be used as a bridge as dj mentioned earlier using JNI.

According to Wikipedia JNI can also call assembly directly. JNI could be used to call complete programs written in C or C++



回答4:

you need to write the HDD interface code in C/C++ and then call that from Java using JNI