• 第十周课程总结


     实验

    1、实验代码

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class text {
    
        public static void main(String[] args) throws IOException {
            
            
            
            try {
                String str = "hello world";
                String s = "f:"+File.separator+"text.txt";
                
                File file = new File(s);
                FileOutputStream ops = new FileOutputStream(file);
                
                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);
                    }
                }
                ops.write(b);
                ops.close();
                System.out.println("经过更改后的内容为:"+new String(b));
            } catch (FileNotFoundException e) {
    
                e.printStackTrace();
            }
            
      }
    }

    2、运行结果截图

     

     总结:这周作业的难度并不大,但还是继续努力。

    学习总结

    1、字节流

    1)字节输出流:OutputStream

                                                                                                                               OutputStream类的常用方法

     :要想使用以上方法,必须使用子类实例化,此时使用FileOutputStream子类,此类的构造方法如下:

    public FileOutputStream(File file) throws FileNotFoundException 

    2)追加新内容

    public FileOutputStream(File file,boolean append) throws FileNotFoundException

    :在构造方法中,如果将append的值设置为true,则表示在文件的末尾追加内容,反之覆盖。

    3)字节输入流:InputStream

                                                                                                                                InputStream类的常用方法

     :要想使用以上方法,必须使用子类实例化,此时使用FileInputStream子类,此类的构造方法如下:

    public FileInputStream(File file) throws FileNotFoundException 

    2、字符流

    1)字符输出流:Writer

                                                                                                                    Writer类的常用方法

     :要想使用以上方法,必须使用子类实例化,此时使用FileWriter子类,此类的构造方法如下:

    public FileWriter(File file) throws IOException 

    2)使用FileWriter追加文件的内容

    public FileWriter(File file,boolean append) throws IOException 

    :在构造方法中,如果将append的值设置为true,则表示在文件的末尾追加内容,反之覆盖。

    3)字符输入流:Reader

                                                                                                                                        Reader类的常用方法

      :要想使用以上方法,必须使用子类实例化,此时使用FileReader子类,此类的构造方法如下:

    public FileReader(File file) throws FileNotFoundException 

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

    字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的。

    字符流在操作的时候是使用到缓冲区的。

    4、字节-字符转换流

    在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类。

    OutputStreamWriterWriter的子类,将输出的字符流变为字节流,即:将一个字符流的输出对象变为字节流输出对象

    InputStreamReaderReader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变为字符流的输入对象

    5、内存操作流

    1)字节内存流

    a、内存字节输入流:ByteArrayInputStream

                                                                                                  ByteArrayInputStream类的主要方法

    b、内存字节输出流:ByteArrayOutputStream

                                                                                                              ByteArrayOutputStream类的主要方法

    6、管道流

    管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream)、管道输入流(PipedInputStream),如果要想进行管道输出,则必须把输出流连在输入流之上,在PipedOutputStream类上有如下的一个方法用于连接管道:

    public void connect(PipedInputStream snk) throws IOException 

    7、打印流

    在整个IO包中,打印流是输出信息最方便的类,主要包含:

    字节打印流:PrintStream

    字符打印流:PrintWriter

    打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字符串等等。

                        PrintStream类的常用方法

     8、使用打印流进行格式化

    在JDK 1.5之后,JAVA又对PrintStream类进行了扩充,增加了格式化的输出方式,直接使用printf()方法就可以完成操作,但是在进行格式化输出的时候需要指定其输出的数据类型。

                                        格式化输出

     9、System对IO的支持

    System表示系统类,实际上在java中System类也对IO给予了一定的支持。

                                                                                                System类的常量

     10、输入、输出重定向

    通过System类也可以改变System.in的输入流来源,以及System.outSystem.err两个输出流的输出位置。

                                                                        System类提供的重定向方法

  • 相关阅读:
    Log4net详细说明
    IDEA 介绍
    在互联网中关系型数据库是否不再那么重要
    彻底删除Kafka中的topic
    kafka consumer 配置详解
    kafka常用命令
    kafka可视化客户端工具Kafka Tool
    System.InvalidOperationException:“线程间操作无效: 从不是创建控件“btnSearch”的线程访问它。
    zookeeper图形化的客户端工具
    window上安装kafka(单机)
  • 原文地址:https://www.cnblogs.com/wangweihanqq2001/p/11780895.html
Copyright © 2020-2023  润新知