java exec是什么意思,java:try{} catch{}是什么意思
老铁们,大家好,相信还有很多朋友对于java exec是什么意思和java:try{} catch{}是什么意思的相关问题不太懂,没关系,今天就由我来为大家分享分享java exec是什么意思以及java:try{} catch{}是什么意思的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
Java如何禁用exec等系统函数
似乎是有可能配置 Java 2 Security来做这件事,不过要知道配置这个文件是非常繁琐的事情,因为它相当于一个白名单,要把所有允许的都列出来,本来你只想禁用一个功能却需要列举很多种允许的事情,这会非常痛苦。你看是不是在 policytool中除了 grant之外还有 revoke或 deny之类的功能来设定黑名单。
比如可能导致 Java反射这种平时允许的操作也无法正常工作。
在 JDK目录下的 \bin下面有一个 policytool程序,启动它来创建你的 Java 2 Security Policy,然后在你的程序的命令行多加一个参数-Djava.security.policy=你的policy文件路径(全名哦)
我觉得你设定这个 Java程序启动时用指定的操作系统用户身份来运行可能更容易在操作系统方面控制它能访问什么程序,这样就算它执行了exec也会被操作系统拦截的。
java:try{} catch{}是什么意思
这是一个提示出现异常的代码。try{}catch(Exception e){}
try{}里边代指出现异常的代码。catch(Exception e)中的e就是异常各类,如果你能确定那种异常,就可以用那种异常代码代替这个e。
而后边{}就是你处理异常的方法,你可以打出异常,或者是输出提示出错了,很灵活。
有时候还会有一个finally{}在最后,这个是一定会处理的代码,不会因为异常的出现会终止。
扩展资料:
try是JAVA中常用到的关键命令。用于try..catch..finally块,进行异常捕获。
try是try..catch..finally块中用来引导第一部分的关键字,用于声明需要捕获指定语句块的异常。
完整的使用方法是:
try{
语句块1
} catch(<? extends Throwable> e){
语句块2.1
} catch(<? extends Throwable> e){
语句块2.2
} catch(<? extends Throwable> e){
语句块2.3
...
} finally{
语句块3
}
catch可以出现0次、1次或多次,finally可以出现0次或1次,但是catch和finally不能同时不出现。
catch用法:
当语句块1中抛出异常时,立即离开语句块1,之后会在所有catch中依次进行类名比对。如果抛出异常和catch声明的异常类名一致,或抛出异常是catch声明的异常的子类,则会进入该catch的语句块(成为异常的捕获),在catch的语句块中可以将异常输出到命令行或引导用户进行问题反馈。
如果任何一个catch都不匹配,会像上层调用抛出这一异常(在此之前会进入finally语句块,详情参考下面的finally用法)。
finally用法:
在语句块1、语句块2中,任何试图离开try..catch..finally块的语句都会导致语句块3被执行,如return throw break continue。在finally的语句块中可以进行内存回收等工作。
需要注意的是,如果导致离开的不是语句造成的,而是断电、内存不足等计算机故障,finally语句块不会被执行。
例子:
public class Test{
public static void main(String[] args){
int i= 10;
try{
System.out.println(i/ 0);
}catch(ArithmeticException ame){
ame.printStackTrace();
} finally{
System.out.println("byebye");
}
}
}
参考资料:百度百科-try
java runtime.exec()命令不能执行
1Runtime.getRuntime()返回Process对象
2Process对象拥有输入流和输出流
3Process对象具有waitFor效应,命令有可能执行不成功!
4先写入输入流,然后从Process里面读出输出命令即可。
5以下是比较成功的方法,doc下面的命令几乎都能成功!
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.io.OutputStreamWriter;
importjava.util.LinkedList;
publicclassCommand{
privatejava.lang.Processp;
privateInputStreamis;
privateOutputStreamos;
privateBufferedWriterbw;
privateBufferedReaderbr;
privateProcessBuilderpb;
privateInputStreamstdErr;
publicCommand(){
}
//获取Process的输入,输出流
publicvoidsetCmd(Stringcmd){
try{
p=Runtime.getRuntime().exec(cmd);
os=p.getOutputStream();
is=p.getInputStream();
stdErr=p.getErrorStream();
}catch(IOExceptione){
System.err.println(e.getMessage());
}
}
//向Process输出命令
publicvoidwriteCmd(Stringcmd){
try{
bw=newBufferedWriter(newOutputStreamWriter(os));
bw.write(cmd);
bw.newLine();
bw.flush();
bw.close();
}catch(Exceptione){
e.printStackTrace();
}
}
//读出Process执行的结果
publicStringreadCmd(){
StringBuffersb=newStringBuffer();
br=newBufferedReader(newInputStreamReader(is));
Stringbuffer=null;
try{
while((buffer=br.readLine())!=null){
sb.append(buffer+"\n");
}
System.out.println(p.waitFor());
}catch(Exceptione){
e.printStackTrace();
}
returnsb.toString();
}
//将命令一股脑塞入list中
publicLinkedList<String>doCmd(LinkedList<String>lists){
LinkedList<String>list=newLinkedList<String>();
for(Strings:lists){
writeCmd(s);
list.add(readCmd());
}
returnlist;
}
publicstaticvoidmain(String[]args){
Commandcmd=newCommand();
cmd.setCmd("cmd");
cmd.writeCmd("copyd:\\stock.xmld:\\backStock.xml");
System.out.println(cmd.readCmd());
//LinkedList<String>list=newLinkedList<String>();
//list.add("dir/b");
//list=cmd.doCmd(list);
//for(Strings:list){
//System.out.print(s);
//}
}
}
java中, try catch(IOException s)什么意思,怎么用
这是java用来捕捉异常的,捕捉程序在运行时可能出现的异常。
1,当代码在运行时可能出现异常时用try{} catch{}捕捉异常,这样程序出现异常不会立即跳出程序,可以经过处理后让程序继续运行或者跳出。例如:
String a="12211a";
try{
int b= Integer.parseInt(a);//将字符串转为数字,a里面有字母,转换失败,将会抛出异常。
System.out.println("is a number:"+b);
} catch(Exception e){
System.out.println("not a number");
}
2,还有很多其他异常,列举一些常见异常:
算术异常类:
ArithmeticExecption
空指针异常类:
NullPointerException
类型强制转换异常:
ClassCastException
类未找到异常:
ClassNotFoundException
数组负下标异常:
NegativeArrayException
数组下标越界异常:
ArrayIndexOutOfBoundsException
违背安全原则异常:
SecturityException
文件已结束异常:
EOFException
文件未找到异常:
FileNotFoundException
字符串转换为数字异常:
NumberFormatException
操作数据库异常:
SQLException
输入输出异常:
IOException
好了,文章到此结束,希望可以帮助到大家。