java基础:IO流之输入输出流、打印流、数据流
2021/4/23 14:25:38
本文主要是介绍java基础:IO流之输入输出流、打印流、数据流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
输入输出流
简介
System.in和System.oult分别代表了系统标准的输入和输出设备。
默认输入设备是:键盘,输出设备是:显示器
System.in的类型是InputStream
System.out的类型是PrintStream,其是FilterOutputStream的子类
重定向:通过System类的setln,setOut方法对默认设备进行改变。
- public static void setln(InputStream in)
- public static void setOut(PrintStream out)
System.in使用
需求:从键盘输入字符串,要求将读取到的整行字符串都转成大写,然后继续操作,直至输入”e“时,退出程序。
思路:键盘输入考虑使用System.in
输入字节流,整行读取字符串可以使用BufferedReader
输入字符流,而字节流转换成字符流,可以是使用InputStreamReader
转换流,代码如下:
//字节流:System.in public static void main(String[] args) { try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in))){ while (true){ String line = br.readLine(); if("e".equalsIgnoreCase(line)) break; String upper = line.toUpperCase(); System.out.println(upper); } }catch (IOException e){ e.printStackTrace(); } }
测试效果:
打印流
简介
实现将基本数据类型的数据格式转化为字符串输出
打印流:PrintStream和PrintWriter
- 提供了一系列重载的print()和println()方法,用于多种数据类型的输出
- PrintStream和PrintWriter的输出不会抛出IOException异常
- PrintStream和PrintWriter有自动flush功能
- PrintStream打印的所有字符都使用平台的默认字符编码转换为字节。
- 在需要写入字符而不是写入字节的情况下,应该使用PrintWriter类。
- System.out返回的是PrintStream的实例
@Test public void test1(){ try(FileOutputStream fos = new FileOutputStream(new File("D:\\print.txt")); //创建打印输出流,设置为自动刷新模式 PrintStream ps = new PrintStream(fos, true)){ //将标准输出流改成文件 System.setOut(ps); for (int i = 0; i < 100; i++) { System.out.print((char)i); } }catch (IOException e){ e.printStackTrace(); } }
数据流
为了方便地操作Java语言地基本数据类型和String数据,可以使用数据流。
数据流有两个类:(用于读取和写出基本数据类型、String类的数据)
- DataInputStream和DataOutputStream
- 分别套接在InputStream和OutputStream子类的流上
DataInputStream的方法:
DataOutputStream的方法:
测试:
@Test public void test(){ try (DataOutputStream dos = new DataOutputStream(new FileOutputStream("DataOutInStream.txt"))) { dos.writeInt(1998); dos.writeUTF("我是中国人"); }catch (IOException e){ e.printStackTrace(); } } /** * @author wen.jie * @date 2021/4/23 13:12 * 将文件中存储的基本数据类型变量和字符串读取到内存中,保存在变量中 * */ @Test public void test2(){ try(DataInputStream dis = new DataInputStream(new FileInputStream("DataOutInStream.txt"))){ System.out.println(dis.readInt()); System.out.println(dis.readUTF()); }catch (IOException e){ e.printStackTrace(); } }
先运行test方法,会生成一个文件,再用test2读取
注意:读取不同类型的数据的顺序要与当初写入文件时,保存数据的顺序一致!否则会抛异常。
这篇关于java基础:IO流之输入输出流、打印流、数据流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南