Java快速的输入输出

本文最后更新于:6 天前

鉴于System.out.println()System.out.println()ScannerScanner输出/输入效率太低了,探索出StreamTokenizerStreamTokenizerBufferedReaderBufferedReaderPrintWriterPrintWriter这些快速的IO方法。

StreamTokenizer + PrintWriter

image-20220227105014727

五次平均355.8ms。

StreamTokenizer + System.out

image-20220227105335810

五次平均827.6ms

PS:感觉这五次结果有点离谱,PrintWriter不应该和System.out差的这么多的吧…毕竟在这五次前,第一次使用这个组合只有531ms。

还是相信平均相信科学吧…

BufferedReader + System.out

image-20220227110702686

五次平均749.4ms。但是中间超时了一次就挺离谱的。

BufferedReader + PrintWriter

image-20220227142736082

五次平均768.4ms

总结

总之,StreamTokenizer+PrintWriter的组合应该是最快的。但是StreamTokenizer似乎在处理串的输入上有一些小问题,以后再看看。而PrintWriter的flush方法用起来也有点迷…

以后再把这个坑填上吧。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!