java中如何获取 控制台的输出信息,错误信息,和异常信息。

java中如何获取 控制台的输出信息,错误信息,和异常信息。,第1张

很简单的,如果你查api文档会发现类System有个“字段摘要”,很容易发现有个out,

它返回static PrintStream,还会发现System有个方法是static void setOut(PrintStream out)

重新分配“标准”输出流。 再点击PrintStream,很明显它是OutputStream

的子类 解决如下

输出流重定向

import javaio;

public class IO2File {

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

File f=new File("outtxt");

fcreateNewFile();

FileOutputStream fileOutputStream = new FileOutputStream(f);

PrintStream printStream = new PrintStream(fileOutputStream);

SystemsetOut(printStream);

Systemoutprintln("默认输出到控制台的这一句,输出到了文件 outtxt");

}

}

ExceptionStackTraceToString()

实际上就是代码行。

ExceptionTargetSite

ToString()

返回错误发生的方法定义。

有这2个就能确认错误行代码了。

附录:Exception属性

Data

获取一个提供用户定义的其他异常信息的键/值对的集合。

HelpLink

获取或设置指向此异常所关联帮助文件的链接。

HResult

获取或设置

HRESULT,它是分配给特定异常的编码数值。

InnerException

获取导致当前异常的

Exception

实例。

Message

获取描述当前异常的消息。

Source

获取或设置导致错误的应用程序或对象的名称。

StackTrace

获取调用堆栈上直接帧的字符串表示形式。

TargetSite

获取引发当前异常的方法。

比如这个例子:

String s = "S123456789";

int arr[] = new int[slength()];

for (int i = 0; i < slength(); i++) {

char c = scharAt(i);

int j;

try {

j = IntegerparseInt(c + "");

} catch (NumberFormatException e) {

j = -1;

}

arr[i] = j;

}

第一位S,类型转换时必然会异常,这样就会被捕获到,至于拿到有用想要的部分,不太清楚啥意思

把磁盘容量信息在label中显示出来:

实际就是把label内容设为指定字符串,可以通过JLabel类的setText()方法实现,但考虑类的封装问题,最好在GetSpaceDemo 类上加个public方法,比如

public void setDiskSpace(String path, long allSpace, long freeSpace){

labelsetText(path+" 总容量 " +allSpace+" 字节,可用容量 “+freeSpace

}

这样在main方法里

GetSpaceDemo demo = new GetSpaceDemo();

demosetDiskSpace(rootgetPath(),rootgetTotalSpace(), rootgetUsableSpace());

这样调用。

以上就是关于java中如何获取 控制台的输出信息,错误信息,和异常信息。全部的内容,包括:java中如何获取 控制台的输出信息,错误信息,和异常信息。、c# try catch 取错误行代码、Java中怎么捕获异常信息,并拿出有用想要的部分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9635827.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存