第十周课程总结

一、判断奇位数,若为小写则转为大写

1.实验源码:

package main1;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class Test {
    public static void main(String[] args) throws Exception {
        File fi=new File("d:"+File.separator+"java"+File.separator+"test.txt");//声明对象
        OutputStream out=new FileOutputStream(fi);//准备好一个输出对象
        String str="hello world!!!";
        byte b[]=str.getBytes();//将字符串转为字节型
        for(int i=0;i<b.length;i++) {
            if (i%2==0 && b[i]>='a' && b[i]<='z') { //判断奇数位是否为小写        
                b[i]=(byte)(b[i]-32);//小写转为大写
            }
        }
        out.write(b); //将内容输出 
        out.close(); //关闭输入流
        System.out.println("更改后的内容为:"+new String(b));//输出更改后的内容
    }

}

 

2.实验结果截图

 

 

3.实验的过程和问题:

这道题的思路和部分代码老师在课堂上讲过,只是一个留给我们课后思考解决的问题,书上也有很多例题,所以写起来并不困难。由于没有具体的要求,就根据自己的理解写好了代码,首先准备好一个输出对象和一个字符串,再将字符串变为byte数组,再判断数组中奇数位是否为小写,是则改为大写,然后将数组写入到文件中去,同是将更改后的内容在控制台输出。

 

课程学习总结

1.字节流:

字节输出流:OutputStream

OutputStream类的常用方法

 

序号

方法或常量

类型

描述

1

public void close()throws IOException

普通

关闭输出流

2

public void flush()throws IOException

普通

刷新缓冲区

3

public void write(byte[] b)throws IOException

普通

将一个byte数组写入数据流

4

public void write(byte[] b,int off,int len)throws IOException

普通

将一个指定范围的byte数组写入数据流

5

public abstract void write(int b)throws IOException

普通

将一个字节数据写入数据流

字节输入流:IntputStream

IntputStream类的常用方法

序号

方法或常量

类型

描述

1

public int available() throws IOException

普通

可以取得输入文件的大小

2

public void close()throws IOException

普通

关闭输入流

3

public abstract int read()throws IOException

普通

读取内容,以数字的方式读取

4

public int read(byte[] b)throws IOException

普通

将内容读到byte数组之中,同时返回读入的个数

2.字符流:

字符输出流:Write

Write类的常用方法

 

序号

方法或常量

类型

描述

1

public abstract void close()throws IOException

普通

关闭输出流

2

public void write(String str)throws IOException

普通

将字符串输出

3

public void write(char[] cbuf)throws IOException

普通

将字符数组输出

4

public abstract void flush()throws IOException

普通

强制性清除缓存


Reader类的常用方法

字符输入流:Reader

序号

方法或常量

类型

描述

1

public abstract void close()throws IOException

普通

关闭输出流

2

public void read()throws IOException

普通

读取单个字符

3

public void read(char[] cbuf)throws IOException

普通

将内容读到字符数组之中,返回读入的长度

3.字节流与字符流的区别

  • 字符输入:字节(磁盘)–> 自动转换为 –>字符(内存);
  • 字符输出:字符(内存)–> 自动转换为–>字节(磁盘);

在利用字符流输出的时候,所有的内容实际上都只是输出到了缓冲区中(内存)。在使用close()方法关闭的时候会将我们缓冲区的数据进行输出,如果没有关闭,那么就将无法进行输出,此时可以利用flush()方法进行强制的输出。字符使用到了缓冲区,而字节流没有使用到缓冲区

 

学习总结:

本周主要学习了字节流和字符流,在写代码的时候只要弄清了当中的概念和方法,还是比较轻松的,但现在一些概念还是会搞混,要在书上查找,多写写代码应该会好些,总之这周没有什么难理解的概念,多写一些代码就能明白。

 

posted on 2019-11-02 16:24  lizhiyang  阅读(127)  评论(0编辑  收藏  举报