zoukankan      html  css  js  c++  java
  • 学习java第23天

    1.InputStream类

    read()方法,逐字地以二进制的原始方法读取数据

    public int read();                      //读入一个字节,-1表示无

    public int read(bytr b[]);           //返回读入的字节数

    2.OutputStream类

    write()方法,是将字节写入流中

    public void write (int b);           //将参数b的低位字节写入到输出流

    public void write (byte b[]);      //将字节数组b中的全部字节顺序写入到输出流

    Output的另外两个写法是flush()和close()

    public void flush();               //刷新缓存,写入到文件

    public void close();              //关闭流

    3.Reader 类和Writer类

    Reader类 : 输入流,读取的是字符(char)

    Writer类 : 输出流,写入的是字符

    public int read();                                      //将int类转换成char

    public int read(char b[]);

    public void write(int b);                          //将参数b的低两字节写入到输出流

    public void write(char b[]);                     //将字符数组b的全部字节顺序写入到输出流

    public void write(String s);                     //将字符串写入流中

    4.标准输入和标准输出

    System.in  为  InputStream类型

    System.out  为  PrintStream类型

    System.err  为  PrintStream类型

    二进制流的读写:

    import java.io.*;
    public class Dump {
        public static void main(String[]args) {
            try
            {
                dump( new FileInputStream("aaa.bmp"),
                      new FileOutputStream("bbb.bmp"));
            }
            catch(FileNotFoundException fex)
            {
                fex.printStackTrace();
            }
            catch (IOException ioe)
            {
                ioe.printStackTrace();
            }
        }
        public static void dump(InputStream src, OutputStream dest)
        throws IOException
        {
            InputStream input = new BufferedInputStream(src);
            OutputStream output = new BufferedOutputStream(dest);
            byte[] data = new byte[1024];
            int length = -1;
            while ((length = input.read(data)) != -1) {
                output.write(data, 0, length);
            }
            input.close();
            output.close();
        }
    }
    字符的读写:
    import java.io.*;
    public class CopyFileAddLineNumber {
     public static void main (String[] args) {
      String infname = "CopyFileAddLineNumber.java";
      String outfname = "CopyFileAddLineNumber.txt";
      if( args.length >= 1 ) infname = args[0];
      if( args.length >= 2 ) outfname = args[1];
      try {
       File fin = new File(infname);
       File fout = new File(outfname);
       BufferedReader in = new BufferedReader(new FileReader(fin));
       PrintWriter out  = new PrintWriter(new FileWriter(fout));
       int cnt = 0; // 行号
       String s = in.readLine();
       while ( s != null ) {
        cnt ++;
        s = deleteComments(s);                                       //去掉以//开始的注释
        out.println(cnt + ": " + s );                                   //写出
        s = in.readLine();                                                  //读入
       }   
       in.close();                                                              // 关闭缓冲读入流及文件读入流的连接.
       out.close();
      } catch (FileNotFoundException e1) {
       System.err.println("File not found!" );
      } catch (IOException e2) {
       e2.printStackTrace();
      }
     }
     static String deleteComments( String s )                   //去掉以//开始的注释
     {
      if( s==null ) return s;
      int pos = s.indexOf( "//" );
      if( pos<0 ) return s;
      return s.substring( 0, pos );
     }
    }
    对象的读写:
    import java.io.*;
    class Person implements Serializable
    {
     String name;
     int age;
     Person(String name, int age){
      this.name=name; this.age=age;
     }
     public String toString(){
      return name + "(" + age + ")";
     }
    };
    public class SerializeDemo {
     public static void main (String[] args) throws IOException{
      Person [] ps = { new Person("Li",18), new Person("Wang",19) };
      ObjectOutputStream output = new ObjectOutputStream( new FileOutputStream("s.temp") );
      for(Person p : ps) output.writeObject(p);
      output.close();
      ObjectInputStream input = new ObjectInputStream( new FileInputStream("s.temp") );
      Person p = null;
      try{
       while( (p=(Person)input.readObject()) != null ){
        System.out.println(p);
       }
      }catch(ClassNotFoundException ex){}
      catch(EOFException eofex){}
      input.close();
     }
    }
     
    明天学习内容:
    文件及目录
    .
     
     
  • 相关阅读:
    git命令_保存本地变更+拉取+合并代码+推送代码到远程仓+添加CI触发器变量
    debian_linux_apt-get命令_dpkg命令
    debian_linux系统_访问真实环境rancher_证书问题相关_https相关_使用kubectl命令行查看资源时报错:Unable to connect to the server: x509: certificate signed by unknown authority
    linux_xargs入门介绍_及和for循环命令区别
    技术实践丨GaussDB(DWS)运维管理功能“升级”的原理和使用
    华为云数据安全中心正式公测,8大核心数据安全能力守护你的数据
    华为鲲鹏专家解读:90%代码如何移植到鲲鹏平台
    数据库技术丨GaussDB(DWS)数据同步状态查看方法
    你掉进过“伪敏捷”的陷阱吗?
    拯救深度学习:标注数据不足下的深度学习方法
  • 原文地址:https://www.cnblogs.com/SirNie/p/13391891.html
Copyright © 2011-2022 走看看