zoukankan      html  css  js  c++  java
  • 第十周课程总结

     实验

    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类提供的重定向方法

  • 相关阅读:
    卷积神经网络-目标探测-笔记
    卷积神经网络-目标分类简述
    深度学习-卷积神经网络的发展-笔记
    深度学习-卷积神经网络笔记
    深度学习-传统神经网络
    深度学习-初识深度学习-笔记
    数据结构-链式队列-C++
    查看线程的id名字正在运行的线程数量[getName()--ident--enumerate--activeCount]--线程池--协程(gevent)--优先级队列(LifoQueue)
    线程-线程的(锁、死锁现象、守护线程)
    ftp(网络传输)--BaseRequesHandler(tcp协议下的多个客户端连接)--urandom(随机生成字节字符串)--hmac(类似于hashlib)
  • 原文地址:https://www.cnblogs.com/wangweihanqq2001/p/11780895.html
Copyright © 2011-2022 走看看