此代码来自我使用的库,并且由于错误而反编译。此代码何时崩溃?
在Windows 32是否能够正常工作,如果一个启动该程序的用户是计算机的管理员,否则它崩溃。在Linux上它也崩溃了。
/* */ public static String cambiaEstensione(String nomeFile, String nuovaEstensione)
/* */ {
/* 140 */ int p = nomeFile.lastIndexOf('.');
/* 141 */ if (p < 0) {
/* 142 */ return nomeFile + "." + nuovaEstensione;
/* */ }
/* 144 */ return nomeFile.substring(0, p) + "." + nuovaEstensione;
/* */ }
的函数的调用是这样的:
/* 182 */ if (this.fl_scrivi) {
/* 183 */ stato = "Apertura archivio dichiarazioni da inviare...";
/* 184 */ this.dcm = new Dcm();
/* 185 */ this.dcm.setNomeDcm(Util.cambiaEstensione(args[2], "dcm"));
/* 186 */ this.dcm.setFileDcm(new FileOutputStream(this.dcm.getNomeDcm()));
/* */ }
唯一的例外是:
java.io.FileNotFoundException: .dcm (Accesso negato)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at it.finanze.entrate.sco.main.M77S11.elaboraFile(M77S11.java:186)
凡“配件系列negato”指“拒绝访问”。
你能帮助我理解错误的原因是什么?
UPDATE:问题的原因是,我是传递一个空字符串args[2]
。
在Windows上使用管理员权限也没有崩溃,因为它创建的文件C:\.dcm
,不知道如果我要考虑的是一个功能或错误。
非常感谢大家的回答。
Grazie mille Paolo!我只是将一个空字符串传递给该参数。 –