其他流

简介: 其他流

其他流

总结于尚硅谷学习视频

1.标准的输入、输出流

2、打印流


3、数据流


OtherStreamTest类

package com.day0316_3;
import org.junit.jupiter.api.Test;
import java.io.*;
import java.sql.Struct;
/**
 * 其他流的使用
 * 1.标准的输入、输出流
 * 2、打印流
 * 3、数据流
 */
public class OtherStreamTest {
    /*
    1.标准的输入、输出流
    1.1
    System.in:标准的输入流、默认从键盘输入
    System.out:标准的输出流、默认从控制台输出
    1.2
    System类的方法setIn(InputStream is) / setOut(PrintStream out) 方式重新指定输入和输出的流。
    1.3
    从键盘输入字符串,要求将读入到的整行字符串转换为大写输出。然后继续进行输入操作,
    直至当输入“e”或者“exit”时,退出程序。
    方法一:使用Scanner实现,调用next()返回一个字符串
    方法二:使用System.in实现. System.in---->转换流-->BufferedReader的readLine()
     */
    public static void main(String[] args) {
        BufferedReader br= null;
        try {
            InputStreamReader isr=new InputStreamReader(System.in);
            br = new BufferedReader(isr);
            while (true){
                System.out.println("请输入字符串:");
                String data= br.readLine();
                if("e".equalsIgnoreCase(data)||"exit".equalsIgnoreCase(data)){
                    System.out.println("程序结束");
                    break;
                }
                String upperCase = data.toUpperCase();
                System.out.println(upperCase);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(br!=null)
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }
    }
    /*
    2.打印流 :PrintStream和PrintWrite
    2.1 提供了一系列重载的print()和println()
    2.2 练习:
     */
    @Test
    public void test2(){
        PrintStream ps=null;
        try {
            FileOutputStream fos =new FileOutputStream(new File("hello5.txt"));
            ps=new PrintStream(fos,true);
            if(ps!=null){
                System.setOut(ps);
            }
            for(int i=0;i<255;i++){//输出ASCII字符
                System.out.print((char)i);
                if(i%50==0){
                    System.out.println();
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
            if(ps!=null)
                try {
                    ps.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
        }
    }
    /*
    3.数据流
    3.1 DataInputStream和DataOutputStream
    3.2 作用:用于读取或写出基本数据类型或字符串
    练习:将内存中的字符串、基本数据类型的变量写出的文件中
    注意:处理异常是,仍然使用try-catch-finally
     */
    @Test
    public void test3() throws IOException{
        //1
        DataOutputStream dos=new DataOutputStream(new FileOutputStream("data.txt"));
        //2
        dos.writeUTF("刘建成");
        dos.flush();//刷新操作,将内存中的数据写入到文件
        dos.writeInt(23);
        dos.flush();
        dos.writeBoolean(true);
        dos.flush();
        //3
        dos.close();
    }
    /*
    将文件中的字符串、基本数据类型读取到内存中,保存到变量中
    注意点:读取不同类型的数据的顺序要与当初写入文件的顺序时,保存的数据顺序一致!
     */
    @Test
    public void test4()throws IOException{
        //1
        DataInputStream dis=new DataInputStream(new FileInputStream("data.txt"));
        //2
        String name = dis.readUTF();
        int age = dis.readInt();
        boolean isMale = dis.readBoolean();
        System.out.println("name="+name);
        System.out.println("age="+age);
        System.out.println("isMale="+isMale);
        //3
        dis.close();
    }
}
相关文章
|
17天前
|
存储 Java API
Stream流
Stream流
31 1
|
1月前
|
程序员 C++ iOS开发
c++文件和流
c++文件和流
17 0
|
6月前
|
Java
java流是指在Java中用来读写数据的一组有序的数据序列,它可以将数据从一个地方带到另一个地方。java流分为输入流和输出流,输入流是从源读取数据的流,而输出流是将数据写入到目的地的流。Java流又可以分为字节流和字符流,字节流读取的最小单位是一个字节(1byte=8bit),而字符流一次可以读取一个字符(1char = 2byte = 16bit)。Java流还可以分为节点流和处理流,节点流是直接从一个源读写数据的流(这个流没有经过包装和修饰),处理流是在对节点流封装的基础上的一种流。
104 0
|
6月前
|
Linux
44 # 流的原理
44 # 流的原理
30 0
|
8月前
|
安全 Java
字节数组流和数据流
字节数组流和数据流
45 0
|
7月前
I/O流
IO流:I的全称是Input,O的全称是Output。表示读取,流可以看做是程序传输数据的通道。 作用:解决程序请求资源,输出资源的问题。
34 0
|
8月前
|
SQL JavaScript 前端开发
开始使用流
Java 8 中的 Stream 俗称为流,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念 Stream 用于对集合对象进行各种非常便利、高效的聚合操作,或者大批量数据操作 Stream API 借助于 Lambda 表达式,极大的提高编程效率和程序可读性 同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势 通过下面的例子我们可以初步体会到使用 Stream 处理集合的便利性
31 1
|
8月前
|
存储 Java
字符输入流
字符输入流
44 0
|
9月前
|
存储 Java
流及其相关操作
流及其相关操作
|
9月前
|
Java 数据库
I/O 流总结
I/O 流总结
62 0