Donc, j'ai une bibliothèque tierce partie qui nécessite un fichier Je ne veux pas écrire les octets sur le disque .. J'aimerais garder cela en mémoire. Toute idée sur la façon dont je peux créer un fichier code> comme entrée. J'ai un tableau
octet code>. P>
code> à partir du tableau d'octet code> fourni (code> (sans écrire sur le disque)? P>
3 Réponses :
Désolé, pas possible. Un fichier est intrinsèquement une entité sur disque, sauf si vous avez un disque RAM - mais ce n'est pas quelque chose que vous pouvez créer en Java. P>
C'est exactement la raison pour laquelle les API ne doivent pas être basées sur des objets de fichier (ou être surchargés pour accepter une introuveam). P>
Qu'en est-il de l'utilisation de RandomAccessFile?
Cela n'exprime pas le fichier ou ainsi. Vivez avec elle (et blâmez ces auteurs API tiers pour une API si imparfait, ce que vous pouvez essayer de poster un rapport de bogue à leur émettracker).
Correct, et l'objet java.io.file est simplement une représentation abstraite du chemin. J'ai des bibliothèques de tiers décompilées et mises à jour pour moins, mais vous devriez être capable de vous éloigner d'écrire un fichier avec un nom de guid sur un répertoire TMP, puis de passer ce chemin sur.
Pas tout à fait ... il a également une fonctionnalité utile pour renvoyer une URL ou une URI pouvant être exploitée ... Voir ma réponse ci-dessous.
Il y a une possibilité, mais c'est un vrai coup long. p>
Si l'API utilise S'il convertit le fichier en une URL ou un URI (à l'aide de Mais les chances sont très minces! P> Nouveau fichier FilerAder (Fichier) CODE> ou
Nouveau fichierInputtream (fichier) code> alors vous êtes hosté, mais ... p>
Tourl () code> ou
touri () code>) puis, puisque code> n'est pas Final, vous pouvez passer dans une sous-classe de fichier
code> dans lequel vous contrôlez la construction de l'URL / URI et, plus important encore, le gestionnaire. P>
Je vois donc qu'il y a une réponse acceptée (et c'est vieux), mais j'ai trouvé un moyen de faire cela. J'utilisais l'API d'Idol sur demande et devait convertir un tableau Voici un exemple de prenant un tableau d'octet code> d'une image et de la transformation en un fichier Et donc octet code> vers un fichier
code>.
code>: p>
de sortiefile code> est un fichier
code> qui peut être utilisé plus tard dans votre programme. P> p>
Si vous avez le code source à la bibliothèque tiers, vous pouvez le modifier. Assurez-vous simplement de savoir ce que vous faites.