栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaOOP学习()

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaOOP学习()

今天学习的是IO流,这个好玩,直接更改电脑程序,可以多下功夫研究这一章节。

 

IO流:
1.IO(Input Output)是输入输出,要用派生类(子类),分为字节流,字符流,以及字节流向字符流的转换
2.IO主要包括三个部分:流式部分,非流式部分,文件读取部分的与安全相关的类以及与本地操作    系统相关的文件系统的类
3.字节流:二进制文件(jpg,png,mp3.mp4),大概就是图片与音频之类的。
   InputStream读取,OutputStream写入
   字符流:录入字符
Reader读取,Writer写入
我们不用这些类本身,用他们的子类效果会更好。
4.File类对象可以读取多个平台的文件和目录(文件夹)
5.缓冲区的作用:
        提高效率
        减少磁盘的IO操作,增加磁盘的寿命
6.先读取,读取时我们可以选择读取什么东西
   后写入,写入时我们要提供写入的地点(绝对路径,相对路径)

今天练习题目:

1.题目:从键盘输入文件的内容和要保存的文件名称,
之后根据输入的名称创建文件,并将内容保存的文件之中。

package java_1215;

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

public class Demo01 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入要保存的文件名:");
        String name=sc.nextLine();
        BufferedReader br=null;//先初始化一个读取类型的对象
        BufferedWriter bw=null;//初始化一个写入类型的对象
        System.out.println("请输入要保存文件的内容(输入 break 结束):");
        br=new BufferedReader(new InputStreamReader(System.in));//循环写入读取内容
        try {
            bw=new BufferedWriter(new FileWriter("c:\"+name+".txt"));//将相对路径进行拼接
        } catch (IOException e) {
            e.printStackTrace();
        }
        String str="";//设置一个值重复接收缓冲区的内容
        try {
            while ((str=br.readLine())!=null){//读取后进行判断,在用户自主结束之前课一直循环
                if (str.equals("break")) break;//防止死循环
                     bw.write(str);//每次循环写入变量中的内容
                     bw.newline();//换下一行与读取的内容保持一致
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                br.close();//使用后关闭流,并让其自动调用 flust方法
                bw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }

    }
}

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

这道题前一道流程大体一致。不同的地方我加入了注释。

package java_1215;

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

public class Topic {
    public static void main(String[] args) {
        BufferedReader br=null;
        BufferedWriter bw=null;
        File f=new File("c:\A.txt");
        Scanner sc=new Scanner(System.in);
        String tf;
        do {
            //加入循环判断
            System.out.println("输入y创建文档");
            tf=sc.next();
        }while (!tf.equals("y"));
        try {
            //如果检测当前位置已有文件则直接退出程序,防止更改
        if (!f.createNewFile()){
            System.out.println("当前位置已存在同名文件,创建失败!");
            System.exit(0);
        }
        System.out.println("输入文本内容(输入 end 结束)");
         br=new BufferedReader(new InputStreamReader(System.in));
         bw=new BufferedWriter(new FileWriter(f));
         } catch (IOException e) {
            e.printStackTrace();
        }
        String str="";
        try {
            while ((str=br.readLine()) != null) {
                bw.write(str);
                bw.newline();
                if ("end".equals(str)) break;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                br.close();bw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }
}

 IO流的题少,但是作用强,灵活,建议将这一章渗透。

今天到此为止,明天见。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/667436.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号