2017-06-20 5 views
0

J'apprends le langage Java grâce à "Deitel & Deitel Comment programmer en Java 10ed". Mais j'ai un problème de compréhension du flux de l'objet dans le fichier. Je comprends que ObjectOutputStream vous permet d'écrire un objet dans un fichier. Utilisation des mots de Book: ObjectOutputStream est initialisé avec un objet Stream, car il écrit des octets dans le fichier. Au lieu de ObjectInputStream vous permettent de lire l'objet dans le fichier. Et ObjectInputStream est initialisé avec un objet Stream pour récupérer les octets du fichier. Mais qu'est-ce qu'un objet Stream? Voici le code de sortie:Sérialisation Java: Comment utiliser Object InputStream/Object Flux de sortie

output = new ObjectOutputStream(Files.newOutputStream(Paths.get("clients.ser"))); 

c'est le code d'entrée:

input = new ObjectInputStream(Files.newInputStream(Paths.get("clients.ser")); 

Qu'est-ce que Files.newOutputStream? Que retourne-t-il?

Merci pour l'attention (si vous dites-moi des livres pour apprendre java mieux que le mien, il est très bon!)

(je suis italien, alors peut-être mon anglais ne serait pas si bon)

+1

Une source d'information très importante est la Javadoc des classes: https://docs.oracle.com/javase/8/docs/api/java/nio/ file/Files.html # newInputStream-java.nio.file.Path-java.nio.file.OpenOption ...- – Berger

Répondre

1

Cette méthode ouvre ou crée un fichier et renvoie un flux de sortie pouvant être utilisé pour écrire des octets dans le fichier. Ce flux retourné est threadsafe.

Pour une description détaillée s'il vous plaît visitez: Java Doc

+0

Est-il correct de dire que "retourner un flux de sortie" est comme dire "retourner une référence au fichier"? Peut-être que mon problème est que j'ai commencé à programmer en C donc c'est plus facile pour moi de penser à un pointeur FICHIER –

+0

Oui vous avez raison, il renverra une référence au fichier. –

0

Files.newOutputStream crée un objet OutputStream vous permettant d'écrire sur un File sur l'argument Path indiqué par l'argument path de newOutputStream(Path path, OpenOption... options).