Quazar
Messages postés84Date d'inscriptionmardi 19 octobre 2004StatutMembreDernière intervention 6 octobre 2006
-
15 déc. 2004 à 10:45
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 2006
-
15 déc. 2004 à 23:28
Salut
Mon problème est simple à exposer.
J' ai à ma disposition un CD dont je veux récupérer les sessions de gravure antérieur afin de connaitre l'historique de mon CD. Je dois donc lire le CD d'une facon plutot inhabituelle et sans passer par l'objet File évidement.
Afin de lire mon CD, il faudrait que je puisse accéder à ma table d'allocation et touti quanti. Je sais que cette manoeuvre est possible en C, je l'ai déjà fait et c'est carrément galère.
En Java, apparement les API ne me donne pas accés à ce genre de ressource, ce qui risque de m'obliger à faire une couche JNI, j'en frissonne de plaisir par avance.
Mes questions sont les suivantes:
- Est il possible d'accéder au fonction native de la classe FileInputStream, et si oui, par quel moyen ?
- Y a t il parmi toutes les API JAVA une classe gérant les volumes SCSI.
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 15 déc. 2004 à 11:51
:big) Neodante :big)
Va falloir passer par du JNI ! Ton flux FileInputStream n'a rien à voir avec la lecture sur le disque, c'est l'OS qui fait ça tout seul et non pas la JVM !
Bon courage je pense que tu en as besoin !!! ;-)
@+
Quazar
Messages postés84Date d'inscriptionmardi 19 octobre 2004StatutMembreDernière intervention 6 octobre 2006 15 déc. 2004 à 12:01
L'idée que j'ai derriere la tete est d'étendre la classe InputStream dont est issue FileInputStream.
Certaines fonctions natives de cette classe permettent la gestion de flux au niveau système. Une fois que j'aurais réussi à accéder à mon bus SCSI, il serait bien sympa que je transforme tout ça en flux afin de pouvoir y accéder comme tout InputStream... tout un programme en somme... :big)
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 15 déc. 2004 à 17:24
:big) Neodante :big)
Oui l'idée n'est pas mauvaise mais il y a une différence entre avoir un flux et les fonctions qui accèdent physiquement au CD et à sa structure ... donc à moins de faire une couche JNI puis de remettre quelques API en plus je ne vois pas trop comment tu pourrais t'y prendre ... ;-)
En plus ce sera forcément un programme non portable puisque l'accès aux disques de bas niveau dépend de l'OS ...
@+
Quazar
Messages postés84Date d'inscriptionmardi 19 octobre 2004StatutMembreDernière intervention 6 octobre 2006 15 déc. 2004 à 17:36
Oui je sais pour les flux, mais dans le pire des cas je compte l'émuler afin de toute de même pouvoir étendre un InputStream. C'est une bonne façon de rendre le code clair à défaut de le rendre portable.
Par contre quand je descendrais dessous la couche JNI en C, je pourrais certainement traduire mes bouts de code pour les adapter pour les autres OS.
Je sens que je vais vraiment en chier... %-6
Vers l'infini et au delà... [Q]
Vous n’avez pas trouvé la réponse que vous recherchez ?