
很简单的,如果你查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中怎么捕获异常信息,并拿出有用想要的部分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)