java - 系统输出打印速度慢

标签 java optimization console

我制作了一个应用程序,可以将文件的字节打印到系统控制台。 (cmd.exe,就我而言)它运行得很好,但我希望它运行得更快(对于大文件),所以我优化了它。根据我自己的测试,在 250,000 字节的文件上,从文件读取字节并将其存储在字符数组中的部分需要 15 到 32 毫秒,但将这些字符打印到命令窗口需要超过 9000 毫秒!(9 秒,几乎慢了300倍!)我试过http://www.rgagnon.com/javadetails/java-0603.html但我没有看到明显的改进。

有没有办法更快地打印到控制台,或者我必须采用 JFrame/JTextArea 策略吗?

最佳答案

您的问题是您正在将 250kb 文件打印到控制台。没有人可以阅读它或理解它(以 500 行/秒的速度阅读十六进制?),因此您正在执行完全不必要的步骤。

如果您要将文件转换为十六进制字符表示形式,请将输出粘贴到文件中,并让用户使用真实的文本查看器查看它,而不是将其转储到控制台中。

正如您所指出的,使用 Swing/awt 组件将允许您使用自己的 GUI 元素来实现此目的。

关于java - 系统输出打印速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15330067/

相关文章:

java - 绘制数千个粒子的更高效方法(Java/Android)

php - *Job Class* 和 Illuminate\Bus\Queueable 在 *Job Class* 的组合中定义了相同的属性 ($connection)

c# - 带有超链接的 .net 控制台应用程序?

java - Java Kafka Consumer 在多线程中的使用

java - 如何使用 JFileChooser 在 java 中获取选定的文件夹名称?

java - 设计数据结构/Java数据结构

Python:Scipy.optimize Levenberg-marquardt 方法

mysql - 用于创建自定义数据库的 Symfony 2 控制台命令

java - 如何避免使用 JPA 注释的循环引用?

java - QueryDSL 和 PostgreSQL 枚举?