L'utilisation de BufferedInputStream

Permettez-moi de commencer ce post avec une seule attention. Je suis un total débutant quand il s'agit de Java. J'ai été la programmation PHP sur et en dehors pendant un certain temps, mais j'étais prête à faire une application de bureau, j'ai donc décidé d'aller avec Java pour diverses raisons.

L'application que je suis en train de travailler sur est dans les premiers stades (moins de 5 classes) et j'ai besoin de lire des octets à partir d'un fichier local. Généralement, les fichiers sont actuellement moins de 512 ko (mais peut augmenter dans le futur). Actuellement, je suis en utilisant un FileInputStream pour lire le fichier en trois tableaux d'octets, qui a parfaitement satisfait mes exigences. Cependant, j'ai vu un BufferedInputStream mentionné, et je me demandais si la façon dont je suis en train de faire ce qui est le mieux, ou si je dois utiliser un BufferedInputStream ainsi.

J'ai fait quelques recherches et avoir lu quelques questions ici, sur un Débordement de Pile, mais je suis toujours avoir des problèmes de compréhension de la meilleure situation pour savoir quand utiliser et ne pas utiliser le BufferedInputStream. Dans ma situation, le premier tableau, j'ai lu les octets en seulement quelques octets (moins de 20). Si les données que je reçois est bon dans ces octets, puis j'ai lu le reste du fichier, en plus de deux tableaux d'octets de taille variable.

J'ai aussi entendu beaucoup de gens parler de profilage pour voir laquelle est la plus efficace dans chaque cas particulier, cependant, je n'ai pas de profilage de l'expérience et je ne suis pas vraiment sûr où commencer. J'aimerais quelques suggestions à ce sujet.

Je suis désolé pour ce long post, mais j'ai vraiment envie d'apprendre et de comprendre la meilleure façon de faire ces choses. J'ai toujours une mauvaise habitude de deuxième deviner mes décisions, donc j'aimerais quelques commentaires. Merci!