zoukankan      html  css  js  c++  java
  • JavaSE: PrintStream类 和 PrintWriter类

    PrintStream类

    <1>  基本概念

          java.io.PrintStream:用于更加方便地打印各种数据内容

    <2>  常用的方法

                               

    PrintStream (OutputStream out) 根据参数指定的引用来构造对象
    void print(String s) 用于将参数指定的字符串内容打印出来
    void println(String x) 用于打印字符串后,并终止该行
    void flush() 刷新流
    void close() 用于关闭输出流,并释放有关的资源

    PrintWriter类

    <1>  基本概念

          java.io.PrintWriter类:用于将对象的格式化形式,打印到文本输出流

    <2>  常用的方法

                      

    PrintWriter(Writer out) 根据参数指定的引用来构造对象
    void print(String s) 将参数指定的字符串内容,打印出来
    void println(String x) 打印字符串后并终止改行
    void flush() 刷新流
    void close() 关闭流对象,并释放有关的资源

    <3>  案例题目

          不断地提示用户,输入要发送的内容,若:发送的内容是“bye”,则聊天结束;否则,将用户输入的内容,写入到文件d:/a.txt 中 

          要求:使用BufferedReader类,读取键盘的键入,System.in代表键盘键入

          要求:使用PrintStream类,负责将数据写入文件

    3.  代码示例

          

    class PrintSreamChatTest{
    
            main (){
    
     
    
              //  由手册可知:构造方法需要的是Reader类型的引用,但Reader是个抽象类,实参只能传递子类的对象 - 字符流  
    
              //  由手册可知:System.in 代表键盘输入,而且是 InputStream类型的 - 字节流
    
              BufferedReader br = null;
    
              PrintStream ps = null;
    
              try{
    
                br = new BufferedReader(new InputSreamReader(System.in));
    
                ps = new PrintStream (new FileOutputStream("d:/a.txt"),true));
    
     
    
                //  声明一个 boolean 类型的变量作为发送方的代表
    
                boolean flag = true;
    
     
    
                while(true){
    
                  //  1.  提示用户输入要发送的聊天内容,并使用变量记录
    
                  System.out.println ("请" + (flag ? "张三" :”李四“) + ”输入要发送的聊天内容:“ );
    
                  String str = br.readLine();
    
                  //  2.  判断用户输入的内容是否为”bye“,若是,则聊天结束
    
                  if ("bye".equals(str)) {
    
                    System.out.println("聊天结束!");
    
                    break;
    
                  }
    
                  //  3.  若不是,则将用户输入的内容,写入到文件 d:/a.txt 中
    
                  //  获取当前系统时间,并调整格式
    
                  Date d1 = new Date();
    
                  SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd HH"mm:ss");
    
                  ps.println(sdf.format(d1) + (flag? "张三说:" : ”李四说:" ) + str);
    
                  flag = !flag;
    
                }          
    
                ps.println(); // 写入空行 与之前的聊天记录隔开
                ps.println();
                ps.println();
    
              }catch (IOException e) {
    
                e.printStackTrace();
              } finally{
    
                //  4.关闭流对象,并释放有关的资源
    
                if (null != ps) {
                  ps.close();
                }
                if (null != br) {
                  try {
                    br.close();
                  } catch (IOException e) {
                    e.printStackTrace();
                  }
                }
    
              }
    
            }
    
          }
  • 相关阅读:
    职场利器:说服力书籍排行榜
    经商必读的6本书推荐
    有关企业文化的书籍推荐
    创业书籍推荐
    企业文化建设的基本内容和主要步骤
    沟通书籍排行榜推荐
    企业文化建设案例与方案分享
    如何提高个人领导力?
    Project Recording: Date and Factory Date[转载]
    SAP Control framework–实例
  • 原文地址:https://www.cnblogs.com/JasperZhao/p/14869680.html
Copyright © 2011-2022 走看看