Lecture CD

Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 6 octobre 2006 - 15 déc. 2004 à 10:45
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 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.

Tout aide, indice, ou miracle serait le bienvenu.

Vers l'infini et au delà... [Q]

5 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
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 !!! ;-)
@+

[Responsable www.neogamedev.com et Admin CS]
0
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Derniè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)

Vers l'infini et au delà... [Q]
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
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 ...
@+

[Responsable www.neogamedev.com et Admin CS]
0
Quazar Messages postés 84 Date d'inscription mardi 19 octobre 2004 Statut Membre Derniè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]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
15 déc. 2004 à 23:28
:big) Neodante :big)

Tout ce que je peux te dire : bonne chance et bon courage !!!!
Je pense que tu en auras besoin !!!
@+

[Responsable www.neogamedev.com et Admin CS]
0
Rejoignez-nous