Java之System类对IO的支持
2022/2/19 17:12:00
本文主要是介绍Java之System类对IO的支持,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
System系统类:
System类中有三个常量:
标准输出(显示器): public static final PrintStream out; 错误输出: public static final PrintStream err; 标准输入(键盘): public static final InputStream in;
输出的操作:
public class MAIN { public static void main(String[] args) { try{ Integer.parseInt("a"); }catch (Exception e){ System.out.println("out:" + e); System.err.println("err :" + e); } } }
err 和 out 是同一种类型的,如果是使用的工具进行输出,那么使用 err 进行错误输出 工具会进行红色字体的输出,而 out 则不会;
最早设置两个输出操作的目的是:
System.out是输出那些用户希望看见的信息;
System.err是输出那些用户不希望看见的信息。
如果有需要也可以修改输出内容的位置(不要随意去修改,仅供了解):
修改out的输出位置:public static void setOut(PrintStream out); 修改err的输出位置:public static void setErr(PrintStream err)。
import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; public class MAIN { public static void main(String[] args) throws Exception{ System.setErr(new PrintStream(new FileOutputStream(new File("D:" + File.separator + "Demo_2_15" + File.separator + "Copy.txt")))); // 改变err的输出位置 try{ Integer.parseInt("a"); }catch (Exception e){ System.out.println("out:" + e); System.err.println("err :" + e); // 输出到文件中 } } }
System.in 键盘输入流:
import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.PrintStream; public class MAIN { public static void main(String[] args) throws Exception{ InputStream input = System.in; // 键盘输入流 System.out.print("请输入:"); byte[] data = new byte[1024]; int len = input.read(data); // 读取长度 System.out.println("内容显示:" + new String(data,0,len)); } }
这种输入方式是有很大的缺陷的:当数据输入的长度超出接收的长度,那么数据就会显示不全。
例如将接收数组data的1024变为6:
import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.PrintStream; public class MAIN { public static void main(String[] args) throws Exception{ InputStream input = System.in; // 键盘输入流 System.out.print("请输入:"); byte[] data = new byte[6]; int len = input.read(data); // 读取长度 System.out.println("内容显示:" + new String(data,0,len)); } }
那么这个输入就可能进行重复的输入流数据接收,而且在接收的时候还有可能会有输入中文的情况,如果处理不当,还可能出现乱码的问题。
所以System.in 只是提供一个标准输入,但是在使用的时候建议还是使用成熟的输入方案。
这篇关于Java之System类对IO的支持的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14后台交互资料入门指南
- 2024-11-14如何轻松创建项目环境:新手入门教程
- 2024-11-14如何抽离公共代码:初级开发者指南
- 2024-11-14Python编程入门指南
- 2024-11-14Python编程入门:如何获取参数
- 2024-11-14JWT 用户校验:简单教程与实践
- 2024-11-14Pre-commit 自动化测试入门指南
- 2024-11-14Python编程基础
- 2024-11-14Server Action入门教程:轻松掌握服务器操作
- 2024-11-14Server Component入门教程:轻松搭建服务器组件