• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
羽落尘
博客园    首页    新随笔    联系   管理    订阅  订阅

第十周课程总结

输入输出型变换大小写

(一)实验代码:

package lager;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.Scanner;
public class Hello {
	public static void main(String[] args) throws Exception {
		File f = new File("d:"+File.separator+"txt.txt");   //声明File对象
		OutputStream out = null;      //准备好输出的对象
		out = new FileOutputStream(f);     //通过对象多态性,进行实例化
        Scanner in = new Scanner(System.in);  //输入
        System.out.println("请输入:");
        String str = in.nextLine();
        byte b[] = str.getBytes();     //将字符串转换为byte数组
        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();   //关闭输出流
	}
}

实验结果:

读取文件型变换大小写 (一)实验代码:
package lager;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class hellow {
    public static void main(String[] args) throws Exception {
 
    	File localFile = new File("d:"+File.separator+"txt.txt");   //声明File对象
        FileInputStream ins = new FileInputStream(localFile);   //声明FileInputStream对象
        int countLen = ins.available();     //从ins中可以获得字符的数目
        byte[] m_binArray = new byte[countLen];    //定义一个byte数组,长度为 countLen 
        ins.read(m_binArray);              //从文件中读取数据到m_binArray数组
        for(int i=0;i<m_binArray.length;i++) {
        	if (i % 2 == 0 && m_binArray[i] >= 'a' && m_binArray[i] <= 'z') {         //判定条件
        		m_binArray[i] = (byte) (m_binArray[i] - 32);
        	}
        }
        OutputStream out = null;   //准备好输出的对象
        out = new FileOutputStream(localFile);    //通过对象多态性,进行实例化
        out.write(m_binArray);        //将内容输出,保存文件
        ins.close();    //关闭输出流
    }
}

实验结果:

总结:
首先我先总结一下这次作业的感受:
这次作业比较简单,大部分的思路和操作老师都讲了。

字节流与字符流

  字节流的操作:
    1)输入:inputStream,
    2)输出:outPutStream;
  字符流的操作:
    1)输入主要使用:reader类。
    2)输出主要使用:write类。
实际上四个操作类都是抽象类(区别接口,抽象类的成员都是抽象,并且只能单继承,接口可以有全局变量,但是接口可以多继承)

注意:

        1)  IO操作属于资源操作,对于资源操作,操作最后必须关闭,否则有可能出现未知错误。
        2)因为FielOutputStream有异常,wire()方法也有异常,为了节省操作,可以在主方法抛出异常,不处理
   3)输出字符串:可以先用方法 getBytes()一次性读取字符串到字节数组中,然后再把字节数组输出。
   4)OutputStream的实例对象调用write(byte []b)方法,把数组输出。
   5)InputStream通过子类,利用多态性,向上转型,实例化对象。
      6)InputStream对象调用read(byte b[])方法,把File中的内容读取给b[]数组。
   7)在操作时候,如果文件本身不存在,就会为用户自动创建新文件。在操作输出流的时候也可以使用write(int i)的方式写出数据。
   8)定义一个byte类型的数组对象,用于读取从File类的指定文件的内容。
   9) 如果要想知道文件大小,直接使用File类即可。f.length()方法获得文件的大小,注意同时要类型转换。
posted @ 2019-11-01 16:17  羽落尘  阅读(125)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3