Quelle est la taille maximale des fichiers pouvant être traités par la JVM?
Je voulais savoir la taille de fichier maximale qui peut être lu par le code Java?
Je voulais gérer la taille du fichier de 100 mo. est-ce possible?
Si possible quels sont les JVM paramètres initiaux que je dois faire?
S'il vous plaît recommander un certain nombre de meilleures pratiques dans la manipulation de fichiers. comme l'utilisation ObjectInputStream,FilterInputStream etc.. l'utilisation du tableau d'octets pour stocker le contenu du fichier etc
double possible de stackoverflow.com/questions/2356137/read-large-files-in-java
OriginalL'auteur Dinesh | 2010-12-27
Vous devez vous connecter pour publier un commentaire.
Quel est le plus grand nombre, vous pouvez écrire? C'est la taille maximale.
La taille totale du fichier est hors de propos si vous l'avez lu en morceaux; il n'y a pas de règle dans le monde, qui serait de l'état que vous avez à lire dans votre 100 mo de fichiers en une seule fois, vous pouvez le lire dans, disons, 10 mégaoctets blocs de la place. Ce qui importe vraiment est de savoir comment vous utilisez que les données entrantes et si vous avez besoin de stocker le produit des données brutes entièrement (par exemple, si les données sont un modèle 3D d'un bâtiment, comment faites-vous en interne doivent représenter) ou seulement l'une des parties (comme la recherche des dix premiers matchs d'une clause d'un énorme fichier texte).
Car il y a beaucoup de façons possibles de traiter les données, il n'y a pas de couverture couvrant la réponse à votre question.
Il n'y a absolument rien de techniquement qui vous empêcherait de streaming le fichier à partir du disque de l'utilisateur via le navigateur, les navigateurs ne supportent HTTP streaming, après tout.
merci.. j'ai clarifié merci
OriginalL'auteur Esko
Le seul maximum que je connais est le maximum de la longueur() - ce qui est Long. Cette longueur est de 2^62 - 1, ou très très grand.
Java ne tiendra pas du tout le fichier en mémoire à la fois. Si vous souhaitez organiser une partie du fichier en mémoire, vous devez utiliser l'un des "Tampon" des classes (le nom de la classe commence avec Tampon). Ces classes tampon partie du fichier pour vous, en fonction de la taille de la mémoire tampon que vous définissez.
Exact de classes, vous devez utiliser dépend des données dans le fichier. Si vous êtes plus précis, nous pourrions être en mesure pour vous aider à comprendre quelles classes à utiliser.
(Un humble remarque: Sérieusement, 100mb? C'est assez petit).
Le MAX_VALUE de long est de 2^62-1 comme sa signature. 😉
Je pense que c'est la bonne réponse à la question posée.
vous êtes correct. J'ai édité la réponse.
OriginalL'auteur Jonathan B
Il n'est pas de taille maximale de fichier qui peut être lu en théorie, mais je pense que c'est
Integer.MAX_VALUE
parce que vous ne peut pas initialiser charBuffer de taille plus grande queInteger.MAX_VALUE
OriginalL'auteur
Il n'est pas spécifique de la taille maximale de fichier pris en charge par Java, tout dépend de l'OS que vous utilisez. 100 mégaoctets ne serait pas trop un problème, même sur un 32-bit OS.
Vous n'avez pas dit si vous voulez lire le ensemble fichier dans la mémoire à la fois. Vous pouvez trouver que vous avez seulement besoin de traiter le fichier en une partie à la fois. Par exemple, un fichier texte peut être traitée d'une ligne à la fois, donc il n'y aurait pas besoin de charger le fichier en entier. Viens de lire une ligne à la fois et le processus de chacun.
Si vous voulez lire tout le fichier dans un bloc de mémoire, alors vous pouvez avoir besoin de modifier la valeur par défaut taille de segment de mémoire à allouer pour votre JVM. De nombreuses machines virtuelles ont une valeur par défaut de 128 MO, ce qui n'est probablement pas assez pour charger votre fichier en entier et ont encore assez de place pour faire d'autres choses utiles. Consultez la documentation de votre JVM pour en savoir comment faire pour augmenter la taille du segment de mémoire de répartition.
OriginalL'auteur Greg Hewgill
Tant que vous avez plus de 100 MO de libre, vous devriez être en mesure de charger tout le fichier en mémoire à la fois, bien que vous ne serez probablement pas en avoir besoin.
BTW: En terme de ce que les lettres signifient
100 milli-bits n'a de sens que pour la compression de données, mais j'ai supposé que ce n'est pas ce que vous parlez.
OriginalL'auteur Peter Lawrey