• 第十周课程总结


    题目:输入的字符串的奇数位字符若为小写,将其改为大写。

    源代码

    package io;
    
    import java.io.File;
    import java.io.FileOutputStream;
    
    public class OutputStream {
    	public static void main(String[] args) throws Exception {
    		
    		File file = new File("d:"+File.separator+"test.txt");
    		
    		FileOutputStream ops = new FileOutputStream(file);//换成(file,true),表示在文件末尾追加内容
    		
    		String str = "Lijiaxin";
    		byte b[] = str.getBytes();//将一个字符串变成byte数组,将byte数组内容一个一个写入到文件中
    		for(int i = 0;i<b.length;i++) {
    			while(i%2==0 && 'a'<=b[i] && b[i] <='z') {
    			b[i] = (byte)(b[i]+'A'-'a');
    		    }
    			ops.write(b[i]);
    		}
    		ops.close();
    	}
    }
    
    

    运行结果

    总结

    字节流与字符流的基本操作

    在字节流中输出数据主要使用OutputStream类完成,输入使用InputStream类,在字符流中输出只要使用Writer类完成,输入主要是使用Reader类完成。

    字节流

    字节输出流(OutputStream)
    向文件中写入字符串

    源代码

    package io;
    
    import java.io.File;
    import java.io.FileOutputStream;
    
    public class OutputStream {
    	public static void main(String[] args) throws Exception {
    		//第一步:使用File创建一个文件
    		File file = new File("d:"+File.separator+"test.txt");
    		//第二步:通过子类实例化对象
    		FileOutputStream ops = new FileOutputStream(file);//换成(file,true),表示在文件末尾追加内容
    		//第三步:进行写操作
    		String str = "Hello World!!!";
    //		byte b[] = str.getBytes();//将一个字符串变成byte数组,将byte数组直接写入到文件中
    //		ops.write(b);
    		byte b[] = str.getBytes();//将一个字符串变成byte数组,将byte数组内容一个一个写入到文件中
    		for(int i = 0;i<b.length;i++) {
    			ops.write(b[i]);
    		}
    		//第四步:关闭输出流
    		ops.close();
    	}
    }
    
    

    运行结果

    字节输入流InputStream
    这是一个抽象方法,也就是说任何派生自InputStream的输入字节流类都需要实现这一方法,这一方法的功能是从字节流中读取一个字节,若到了末尾则返回-1,否则返回读入的字节。关于这个方法我们需要注意的是,它会一直阻塞知道返回一个读取到的字节或是-1。另外,字节流在默认情况下是不支持缓存的,这意味着每调用一次read方法都会请求操作系统来读取一个字节,这往往会伴随着一次磁盘IO,因此效率会比较低。read(byte[])方法内部也是通过循环调用read()方法来实现“一次”读入一个字节数组的,因此本质来说这个方法也未使用内存缓冲区。要使用内存缓冲区以提高读取的效率,我们应该使用BufferedInputStream。

  • 相关阅读:
    Ubuntu下用NdisWrapper安装网卡驱动
    Ubuntu下轻松切换GDM, LightDM , KDM
    Ubuntu常用软件推荐,图文详细说明及下载
    Matlab绘图-很详细,很全面
    安装sunvirtualbox
    Ubuntu下使用虚拟机安装Windows XP(sunvirtualbox)
    Ubuntu下安装vmware 9.0 + 注册码
    Linux如何用QQ?Linux下QQ使用的几种方案
    怎么解决 ubuntu 装kde桌面遇到的汉化问题
    Ubuntu下安装KDE及安装中文环境
  • 原文地址:https://www.cnblogs.com/clayLJX/p/11777373.html
Copyright © 2020-2023  润新知