J'ai un fichier contenant un grand nombre de nombres.Lecture à partir d'un fichier avec DataInputStream est très lent
J'ai essayé d'utiliser le code suivant pour le lire à partir du fichier, mais il est super lent tout le monde peut aider à réduire le temps?
Ce qui suit est mon code pour le lire d'une manière très lente:
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.*;
public class FileInput {
public static void main(String[] args) {
Scanner scan1 = new Scanner(System.in);
String filename = scan1.nextLine();
File file = new File(filename);
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream dis = null;
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
while (dis.available() != 0) {
System.out.println(dis.readLine());
}
fis.close();
bis.close();
dis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Peut-être parce que les chiffres sont en cours d'impression à l'écran? Commentez cette ligne juste pour un test. – dgnorton
alors que j'ai essayé de ne pas les imprimer, mais le temps est encore trop long – starcaller
Combien de temps est-il trop long? Aussi, que comptez-vous en faire? Cela change la stratégie de codage. –