java中io流知识梳理

java中io流知识梳理,第1张

java中io流知识梳理

java中IO流主要用于硬板、内存、键盘等处理设备上得数据 *** 作,根据处理数据的数据类型的不同可以分为:

字节流(抽象基类为InPutStream和OutPutStream)列如:jpg,MP3,MP4等等文件

字符流(抽象基类为Reader和Writer)列如:word文档,excal文档等等。

根据流向不同,可以分为:输入流和输出流。  


 通过file关键字对文件,文件夹 *** 作,file类可以跨平台进行 *** 作,因为java是跨平台的开发环境。

主要的方法如下图:

java.io包下常用的16个流

文件流:

  1. java.io.FileInputStream
  2. java.io.FileOutputStream
  3. java.io.FileReader
  4. java.io.FileWriter
    转换流:(将字节流转换成字符流)
  5. java.io.InputStreamReader
  6. java.io.OuputStreamWriter
    缓冲流:(减少磁盘 *** 作,增加磁盘寿命)
  7. java.io.BufferedReader
  8. java.io.BufferedWriter
  9. java.io.BufferedInputStream
  10. java.io.BufferedOnputStream
    数据流:
  11. java.io.DataInputStream
  12. java.io.DataOnputStream
    对象流:
  13. java.io.ObjectInputStream
  14. java.io.ObjectOnputStream
    标准输出流:
  15. java.io.PrintWriter
  16. java.io.PrintStream

实战

废话不多说代码上

创建一个类,运行后在控制台输入y可以创建一个A.txt文档到D盘 (输入其他字符无效,并重新输入),然后当你每次在控制台输入的字符串按下回车键后都会输出到A.txt文档中并且换行(如果输入end则结束输出否则继续执行输出)

import java.io.*;
import java.util.Scanner;

public class Test3 {
    public static void main(String[] args)  {
        BufferedReader br = null;
        BufferedWriter bw = null;
        Scanner input = new Scanner(System.in);
        //创一个无限循环,用于循环输入直到输入为y,break跳出终止循环
        for (; ; ) {
            System.out.println("请输入y创建txt文档");
            String yy = input.next();
            //做判断,当输入y时进入if,否则继续循环
            if (yy.equals("y")) {
                //在指定位置创一个A.txt
                File f1 = new File("d:\A.txt");
                break;
            } else {
                System.out.println("创建失败");
                continue;
            }
        }
        System.out.println("请输入要录入的内容");
        br = new BufferedReader(new InputStreamReader(System.in));
        try {
            bw = new BufferedWriter(new FileWriter(new File("d:\A.txt")));
            String show="";
            while ((show = br.readLine()) != null) {
                //写入一行内容
                if (show.equals("end")) {
                    System.out.println("结束输入");
                    break;
                }
                bw.write(show);
                bw.newline();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                br.close();
                bw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
}
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5673088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存