精华内容
下载资源
问答
  • 标准输出流

    2021-01-17 07:32:03
    标准输出流 PrintStream标准的字节输出流,默认输出到控制台。 标准输出流不需要手动close。 System.out.println("hello world");//联合起来写 //分开写 PrintStream ps = System.out; ps.println("hello zhangsan")...

    标准输出流

    PrintStream标准的字节输出流,默认输出到控制台。

    标准输出流不需要手动close。

    System.out.println("hello world");//联合起来写
    //分开写
    PrintStream ps = System.out;
    ps.println("hello zhangsan");
    ps.println("hello world");
    

    修改输出方向,使得标准输出流不再指向控制台,指向log文件。

    PrintStream printstream = new PrintStream(new FileOutputStream(log));
    //修改输出方向,指向log
    System.setOut(printstream);
    //再输出
    sout("hello world")
    //此时输出结果不再出现在控制台中,而出现在log文件中
    

    日志记录

    //记录日志的方法
    public static void writeLog(String msg) {
        //指向一个log文件
        PrintStream out = null;
        try {
            out = new PrintStream(new FileOutputStream("log.txt",true));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        //改变输出方向
        System.setOut(out);
        //当前日期时间
        Date nowtime = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
        String strTime = sdf.format(nowtime);
        System.out.println(strTime+":"+msg);
    }
    
    public class LogTest {
        public static void main(String[] args) {
            Log.writeLog("7点起床");
            Log.writeLog("然后去吃早饭");
        }
    }
    
    展开全文
  • 标准输入流: public static final InputStream in:字节...标准输出流: public static final PrintStream out:字节输出流 System.out(标准输出流).println();(标准输出流调用方法) 转换流: OutputStrea...

    标准输入流:

    public static final InputStream in:字节输入流

    Scanner sc = new Scanner(System.in);

    标准输出流:

    public static final PrintStream out:字节输出流

    System.out(标准输出流).println();(标准输出流调用方法)

     

    转换流:

    OutputStreamWriter:将字节输出流转换成字符输出流(可以用BufferedWriter包装提高效率)

    InputStreamReader:将字节输入流转换成字符输入流(可以使用多态直接接收成字符流)

    转换流适用于直接作用于文本文件的是节点流的情况

    键盘输入的内容(输入的是字符)可当成文本文件,例如system.in默认是一个字节流,但输入的为文本文件,采用转换流,提高读取效率

     

    PrintWiter:(包含PrintStream的方法,并且可以接收字节输出流)

    PrintStream:

    可以自动换行println()

    不能输出字节,其他任意类型都可以输出

    自动刷新,通过构造方法(OutputStream out, boolean autoFlush)也是包装流

    可以字节转字符

    只能输出,不能输入

    展开全文
  • 初步认识标准输出流、错误输出流、输入流、扫描仪 package com.mydemo.controller; import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { System.err...
    • 初步认识标准输出流、错误输出流、输入流、扫描仪
    package com.mydemo.controller;
    
    import java.util.Scanner;
    
    public class HelloWorld {
        public static void main(String[] args) {
            System.err.println("HelloWorld");
            System.out.println("HelloWorld");
            
            System.out.println(System.in);
            System.out.println(System.out);
            System.out.println(System.err);
            
            Scanner scanner = new Scanner(System.in);
            String nextLine = scanner.nextLine();
        }
    }
    View Code
    HelloWorld
    HelloWorld
    java.io.BufferedInputStream@2a139a55
    java.io.PrintStream@15db9742
    java.io.PrintStream@6d06d69c
    运行结果
    • 输出流自动转换内容类型

    打印时,无论任何类型,都会自动转为字符串,然后再进行打印。

        public static void main(String[] args) {
            int i = 9;
            System.out.println(i);
            //这里的int 类型变量,会先转为String 类型,然后再打印。
        }
    View Code
    •  扫描仪的阻塞方法:
        public static void main(String[] args) {
            @SuppressWarnings("resource")
            Scanner scanner = new Scanner(System.in);//这一行打断点
            String nextLine = scanner.nextLine();    //这一行打断点
            System.out.println(nextLine);
        }
    源码示例

    debug 运行:

    直到第9行,按F6 就不往下走了,控制台输入内容才会往下走。

    所以scanner对象的nextLine()是一个阻塞方法。

    转载于:https://www.cnblogs.com/Mike_Chang/p/6752170.html

    展开全文
  • C++ 标准输出流

    2019-06-02 22:38:09
    标准输出流 ostream类定义了3个输出流对象,即cout、cerr、clog cout流在内存中开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl时,不论缓冲区是否已满,都立即输出流中的所有数据,然后插入一个...

    标准输出流

    ostream类定义了3个输出流对象,即cout、cerr、clog

    1. cout流在内存中开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl时,不论缓冲区是否已满,都立即输出流中的所有数据,然后插入一个换行符,并且刷新流(清空缓冲区)
    2. cerr流对象是 标准错误流 。作用是向标准错误设备输出有关出错信息。和cout的不同:cout可以被重定向输出到磁盘文件中,但是cerr流中的信息只能在显示器输出。cerr流中的信息是需要用户指定的。
    3. clog流对象也是 标准错误流 。作用也是在终端显示器上显示出错信息。他们之间有微小的区别:cerr是不经过缓冲区直接向显示器上输出有关信息,而clog中的信息存放在缓冲区中,等待缓冲区满或者遇到endl的时候向显示器输出(用起来效果差不多)。
    	cout << "hello" << endl;
    	cerr << "is a error" << endl;
    	clog << "clog error" << endl;

    格式输出

    有两种方法:

    • 使用格式控制符控制输出格式

    注意首先需要:

    #include <iomanip>

    dec--设置数值的基数为10

    hex--设置数值的基数为16

    oct--设置数值的基数为8

    setfill(c)--设置填充字符c,c可以是字符常量,也可以是字符变量

    setprecision(n)--设置浮点数的精度为n位,一般以十进制小数位输出,n代表有效数字,在以fixed(固定小数位数)和scientific(指数)形式输出时,n为小数位数

    setw(n)--设置字段宽度为n位

    setiosflags(ios:fixed)--设置浮点数为固定的小数位显示

    setiosflags(ios:scientific)--设置浮点数以指数形式显示

    setiosflags(ios:left)--设置数组左对齐

    setiosflags(ios:right)--设置数据右对齐

    setiosflags(ios:skipws)--忽略前导空格

    setiosflags(ios:uppercase)--数据以十六进制输出时字母大写

    setiosflags(ios:showpos)--输出正数时加“+”

    举例:

    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main(int argc, char const *argv[])
    {
    	int a = 123445;
    	cout << dec << a << endl;
    	cout << oct << a << endl;
    	cout << setiosflags(ios::uppercase) << hex << a << endl;
    	double b = 1.238908;
    	cout << setiosflags(ios::fixed) << b << endl;
    	cout << dec << setiosflags(ios::scientific) << b << endl;
    	cout << dec << setiosflags(ios::fixed) << setprecision(7) << b << endl;
    	int c[10] = {1, 2237580, 3123, 4125 ,565636 ,6132412 ,70000, 81 ,92, 10};
    	// 右对齐和左对齐只有在设置了宽度的时候才有用
    	for (int i = 0; i < 10; ++i)
    	{
    		cout << setw(10) <<
    		setiosflags(ios::showpos) << c[i] << endl;;
    	}
    	return 0;
    }

     

    https://blog.csdn.net/weixin_38481963/article/details/79645469

    • 使用流对象的成员函数控制输出格式

    东西其实是一样的,不过是使用函数的形式来使用:

    precision(n) 设置实数的精度为n位
    width(n) 设置字段宽度为n位
    fill(c) 设置填充字符c
    setf() 设置输出格式状态
    unsetf() 取消已经设置的输出格式状态
    #include <iostream>
    using namespace std;
    int main(int argc, char const *argv[])
    {
    	int a = 21;
    	cout.setf(ios::showbase);
    	cout << "dec: " << a << endl;
    	cout.unsetf(ios::dec);
    
    	cout.setf(ios::hex);
    	cout << "hex: " << a << endl;
    	cout.unsetf(ios::hex);
    
    	cout.setf(ios::oct);
    	cout << "oct: " << a << endl;
    	cout.unsetf(ios::oct); 
    
    	char *pt = "China";
    	cout.width(10);
    	cout << pt << endl;
    
    	cout.width(10);
    	cout.fill('*');
    	cout << pt << endl;
    
    	double pi = 22/7.0;
    	cout.setf(ios::scientific);
    	cout << "pi = ";
    	cout.width(14);
    	cout << pi << endl;
    	cout.unsetf(ios::scientific);
    
    	cout.setf(ios::fixed);
    	cout.width(12);
    	cout.setf(ios::showpos);
    	cout.setf(ios::internal);
    	cout.precision(6);
    	cout << pi << endl;
    	return 0;
    }

     

    展开全文
  • C++标准输出流

    2019-07-07 19:46:16
    C++标准输出流 开发工具与关键技术:C++、VisualStudio 作者:何任贤 撰写时间:2019年07月06日 C++程序中,对数据的输出输入是以字节流实现的, 应用程序对字节序列作 出各种数据解释, I/O系统的任务就是在内存和...
  • 输入流stdin默认是键盘,输出流stdout默认是显示器,错误流stderr #include <... // 标准输出流 int choice; scanf("%d",&choice); // 标准输入流 printf("您输入的数字是:%d\n",choic...
  • 通过old标记的输出流,将system.out恢复至标准输出流 通过old标记的输出流,将system.out恢复至标准输出流 通过old标记的输出流,将system.out恢复至标准输出流
  • IO —— 标准输入流和标准输出流

    千次阅读 2016-07-24 08:26:33
    这一节讲解标准输入流和标准输出流。例1:示例了 syso 或者 sout 的深层道理,其实就是 PrintStream/** * Created by liwei on 16/7/19. */ /* * System.in 标准输入流。是从键盘获取数据的 * * 键盘录入数据的...
  • 标准输出流【应用】

    2020-09-13 21:25:10
    public static final PrintStream out:标准输出流。通常该流对应于显示输出或由主机环境或用户指定的另一个输出目标 输出语句的本质:是一个标准的输出流 PrintStream ps = System.out; ...
  • 1.标准输入流 System类中有两个静态的成员变量 : ...public static final PrintStream out:标准输出流。通常该流对应于显示输出或由主机环境或用户指定的另一个输出目标 自己实现键盘录入数据 public static v...
  • 第二十讲: C++的输入和输出与标准输出流 本讲基本要求 * 掌握:输入输出的含意;文件流以及输入/输出的格式控制;标准输出在C++程序中的应用。 * 理解:C++类库中的常用流类。 * 了解:C++的I/O对C的发展。 重点、...
  • java标准输出流问题

    2019-04-03 15:59:22
    在使用标准输出流时,有时会碰见没有把数据完全写入文件中,是因为还有部分数据存在于缓冲中,这是可以通过flush或者.close()来刷新缓冲
  • 第十天之标准输出流

    2019-11-28 21:54:28
    标准输出流 /* 标准输出流对象 cout cout.flush() cout.put() cout.write() cout.width() cout.fill() cout.setf(标记) */ 案例一: //cout.put void main() { cout << "hello" << endl; cout.put('h'...
  • c++标准输出流cout

    2016-11-20 16:06:35
    标准输出流 预定义的对象cout是ostream类的一个实例,cout对象“连接”到标准输出设备,通常是显示屏,cout是与流插入运算符 #include using namespace std; int main() { char str[]="hello c++"; cout } ...
  • 参考: 1.cout标准输出流常用控制格式 2.C++中cout.setf()函数 3.I/O输入输出流、文件重定向、格式控制、标准输入输出、 串流类、 文件操作、多线程
  • C++标准输出流详解

    2015-06-21 18:24:44
    标准输出流是流向标准输出设备(显示器)的数据。ostream类定义了个输出流对象,即cout、cerr、clog,分述如下。 cout流对象 cont是console output的缩写,意为在控制台(终端显示器)的输出。前边已对cout作了...
  • //保存原输出流 PrintStream out=System.out; //保存原错误输出流 PrintStream err=System.err; //建立新的输出流 PrintStream ps=new PrintStream("./log.txt"); System.out....
  • 打印流:输出流 (1)PrintStream 如System.out/System.err (2)PrintWriter 从服务器端往客户端返回消息时用到response,response.getWriter()可以返回PrintWriter对象;即Web服务器往客户端返回html网页时,用的...
  • Java.Io中的标准输出流: java.io. PrintStream。这个标准输出流可以改变文件的输出方向,由原来的控制台输出,改变到向指定文件输出,这在系统日志中发挥到了很大的作用,系统日志的原理也是通过这个流实现的。 下面...
  • 复制文件的异常处理 标准输入输出流 标准输入输出流
  • ConsoleAppender 控制台标准输出流

    千次阅读 2014-04-03 13:25:08
    将日志信息输出到控制台标准输出流。 appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >  layout type="log4net.Layout.PatternLayout">  param name="ConversionPattern" ...
  • 标准输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。对于简单独立的 Java 应用程序,编写一行输出数据的典型方式是:System.out.println(data);...
  • 在使用dos指令是我们通常希望能重定义标准输出流,比如我们想把原来显示在屏幕上的东西显示在某文件中,我们可以使用 > 目标文件 来实现比如 dir > test.txt这样即可以将当前文件信息输出的test.txt文件中但是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,410
精华内容 4,564
关键字:

标准输出流