java中seterr的简单介绍

本文目录一览:

JAVA中如何把system.out.println里的内容写入文件

可以用JAVA里的System.in的重定向来解决.

setIn(InputStream in)重新分配“标准”输入流。

setOut(PrintStream out)重新分配“标准”输出流

setErr(PrintStream err)重新分配“标准”错误输出流。

看下面的例子:

import java.io.*;

class Redirecter

{

public static void redirect(InputStream in,PrintStream out,PrintStream err)

{

System.setIn(in);

System.setOut(out);

System.setErr(err);

}

public static void copy()throws IOException

{

InputStreamReader reader = new InputStreamReader(System.in);

BufferedReader br = new BufferedReader(reader);

String data = br.readLine();

while(data!=null data.length()!=0)

{

System.out.println(data);

System.err.println(data);

data = br.readLine();

}

}

public static void main(String [] args)throws IOException

{

//你先在C:建个111.txt的文件哦自己测试下

InputStream in = new BufferedInputStream( new FileInputStream(“C:\\111.txt”));

PrintStream out = new PrintStream

( new BufferedOutputStream(new FileOutputStream(“C:\\out.txt”)));

PrintStream err = new PrintStream

( new BufferedOutputStream(new FileOutputStream(“C:\\err.txt”)));

redirect(in,out,err); //由111.txt输入,输出到out.txt中

copy();

in.close();

out.close();

err.close();

}

}

Java中System.err怎么理解

err是运行期异常和错误反馈的输出流的方向。 System.err.println只能在屏幕上实现打印,即使你重定向了也一样。 你使用err打印出的 字符串,在eclipse的console会显示成红色的哦。

java问题,动态修改java类里面的一个方法

//创建文件输出流

PrintStream ps=new PrintStream(“./log.txt”);

//设置新的输出流 System.setErr(ps);

System类的out、err、in成员变量都是final类型的,不能直接复制,要通过setOut()、setErr(),setIn()方法来改变流。上例是通过setOut()方法改变输入流输入位置,将输出重定向到一个固定的目录,实现程序日志

e.printstacktrace 默认用的就是System的输出

java System 类里out和err怎么赋值的?没找到源码 initializeSystemClass也没有找到….求大神讲解一下

这是 initializeSystemClass 源码,就在 System 类中,在System类的源码中搜索一下 initializeSystemClass 就可以找到了。

    private static void initializeSystemClass() {

        props = new Properties();

        initProperties(props);  // initialized by the VM

        

        sun.misc.VM.saveAndRemoveProperties(props);

        lineSeparator = props.getProperty(“line.separator”);

        sun.misc.Version.init();

        FileInputStream fdIn = new FileInputStream(FileDescriptor.in);

        FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);

        FileOutputStream fdErr = new FileOutputStream(FileDescriptor.err);

        setIn0(new BufferedInputStream(fdIn));

        setOut0(newPrintStream(fdOut, props.getProperty(“sun.stdout.encoding”)));

        setErr0(newPrintStream(fdErr, props.getProperty(“sun.stderr.encoding”)));

        

        loadLibrary(“zip”);

        // Setup Java signal handlers for HUP, TERM, and INT (where available).

        Terminator.setup();

        

        sun.misc.VM.initializeOSEnvironment();

        

        Thread current = Thread.currentThread();

        current.getThreadGroup().add(current);

        // register shared secrets

        setJavaLangAccess();

       

        sun.misc.VM.booted();

    }

其中这几句代码就是用来初始化,标准输入流,标准输出流,标准错误输出流的。

FileInputStream fdIn = new FileInputStream(FileDescriptor.in);

FileOutputStream fdOut = new FileOutputStream(FileDescriptor.out);

FileOutputStream fdErr = new FileOutputStream(FileDescriptor.err);

setIn0(new BufferedInputStream(fdIn));

setOut0(newPrintStream(fdOut, props.getProperty(“sun.stdout.encoding”)));

setErr0(newPrintStream(fdErr, props.getProperty(“sun.stderr.encoding”)));

这其中 setOut0 就是用来设置 System.out  的,setOut0 看不到源码的,它是在java虚拟中的。

java的类型参数是什么意思

应该是泛型中提到的一个概念,T 表示传入任意参数,在给一个泛型类初始化的时候我们要给它传入具体的值,一般是一个类型,如String,Integer或者是一个java bean类型的数据,这时候,String是作为一个参数传过去的,但它表示的是一个字符串类型,也就是传入了String类型的参数。此时String就是一个参数,一个类型参数。如Liststring testList = new Liststring(); 一个泛型数组,我们要规定该list中只能传入字符串怎么办,这时就给他传入一个String类型参数,只要传入其他类型就会在编译期报错,这也是泛型的一个优点。

原创文章,作者:IM0X3,如若转载,请注明出处:https://www.506064.com/n/129328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
IM0X3的头像IM0X3
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Python简单数学计算

    本文将从多个方面介绍Python的简单数学计算,包括基础运算符、函数、库以及实际应用场景。 一、基础运算符 Python提供了基础的算术运算符,包括加(+)、减(-)、乘(*)、除…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29

发表回复

登录后才能评论