news 2026/6/10 17:08:42

java中输入输出的优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
java中输入输出的优化

BufferedReader

核心优势
  • 缓冲机制减少 IO 次数,读取效率远高于Scanner
  • readLine()支持按行读取,适配多段输入场景;
  • 可处理控制台输入、文件输入、网络流输入。
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class TestBufferedReader { public static void main(String[] args) throws IOException { // 1. 创建对象 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 2. 读取第一行(比如输入:10) System.out.println("请输入一个整数:"); String line1 = br.readLine(); int n = Integer.parseInt(line1); // 手动转int // 3. 读取第二行(比如输入:1 2 3 4) System.out.println("请输入多个整数(空格分隔):"); String line2 = br.readLine(); // 4. 关闭流 br.close(); // 输出结果 System.out.println("你输入的单个整数:" + n); System.out.println("你输入的整行文本:" + line2); } }

StringTokenizer

核心优势
  • 分割效率高于String.split()(尤其是大数据量场景);
  • 仅分割非空字符(自动忽略连续空格);
  • 支持自定义分隔符(空格、逗号、竖线等)。

StringTokenizer和上面的br.readLine()进行整合

模版使用

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class TestStringTokenizer { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 读取一行带空格的输入:"10 20 30 40" String line = br.readLine(); // 1. 创建分割器(默认按空格分割) StringTokenizer st = new StringTokenizer(line); // 2. 循环获取所有分割后的字符串 System.out.println("分割后的结果:"); while (st.hasMoreTokens()) { String token = st.nextToken(); int num = Integer.parseInt(token); // 转成int System.out.println(num); } br.close(); } }

手写类型转换方法

StringBuidler

核心优势
  • 可变字符序列,拼接效率远高于String +=(避免创建大量临时字符串);
  • 支持指定初始容量,减少扩容次数;
  • 可清空复用,降低对象创建开销。
// 写法1:空对象(常用) StringBuilder sb = new StringBuilder(); // 写法2:指定初始容量(大数据量时优化,避免扩容) StringBuilder sb2 = new StringBuilder(1024 * 10); // 10KB初始容量

核心方法

public class TestStringBuilder { public static void main(String[] args) { // 1. 创建拼接对象 StringBuilder sb = new StringBuilder(); // 2. 循环拼接10行数据(模拟批量输出) for (int i = 1; i <= 10; i++) { sb.append("第").append(i).append("行:").append(i * 2).append("\n"); } // 3. 一次性输出(仅1次System.out调用) System.out.print(sb); // 4. 清空复用 sb.setLength(0); sb.append("清空后拼接的新内容:").append(100); System.out.println(sb); } }

一定要记住快速导包

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:48:43

Unity2022安装NewtonsoftJson?

在学习的时候发现教程使用的版本为2023&#xff0c;我的版本是2022&#xff0c;因为教程版本的差别&#xff0c;2023可以直接在包管理器搜索安装NewtonsoftJson&#xff0c;而2022版本不能直接通过包管理界面下载NewtonsoftJson&#xff0c;于是我进行了尝试&#xff0c;能够正…

作者头像 李华
网站建设 2026/6/9 16:06:14

基于微信小程序电影院售票选座管理系统

目录微信小程序电影院售票选座管理系统摘要核心功能模块技术实现要点系统优势典型应用场景项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作微信小程序电影院售票选座管理系统摘要 微信小程序电影院售票选座…

作者头像 李华
网站建设 2026/6/10 14:24:46

基于微信小程序的志愿活动报名服务管理系统

目录 系统概述核心功能技术实现应用价值 项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 系统概述 微信小程序志愿活动报名服务管理系统旨在为组织者和志愿者提供便捷的线上活动管理及报名平台。通过小程…

作者头像 李华
网站建设 2026/6/9 23:53:59

线上摄影约拍系统小程序

目录 线上摄影约拍系统小程序摘要 项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 线上摄影约拍系统小程序摘要 功能概述 线上摄影约拍系统小程序是一个基于移动端的服务平台&#xff0c;旨在连接摄影师与…

作者头像 李华
网站建设 2026/6/6 7:02:39

从通用到垂类:大模型微调技术详解,PEFT方法全总结(建议收藏)

本文系统介绍了大模型参数高效微调(PEFT)的十大主流方法&#xff0c;包括添加派、适配器、软提示、缩放平移、重参数化、低秩分解、选择派、混合派、量化派和多任务派。2021-2023年是PEFT技术范式创立期&#xff0c;此后多为基础改进。工程应用中&#xff0c;Adapter/LoRA已足够…

作者头像 李华
网站建设 2026/6/10 13:45:18

深入理解TCP协议:数据格式与核心机制解析

深入理解TCP协议&#xff1a;数据格式与核心机制解析 1. TCP协议概述1.1 TCP协议特点 2. TCP数据报文格式2.1 TCP头部字段详解2.2 控制标志位详解 3. TCP连接管理3.1 三次握手建立连接3.2 四次挥手释放连接 4. TCP可靠传输机制4.1 确认与重传4.2 滑动窗口 5. TCP拥塞控制6. TCP…

作者头像 李华