JavaFx程序没有响应?
当我运行这段代码时,java没有响应java结果:-805306369 这段代码尝试用junrar解除rar文件的限制。 java结果是什么:-805306369 这是内存不足的错误吗 我怎样才能解决它 谢谢JavaFx程序没有响应?,java,Java,当我运行这段代码时,java没有响应java结果:-805306369 这段代码尝试用junrar解除rar文件的限制。 java结果是什么:-805306369 这是内存不足的错误吗 我怎样才能解决它 谢谢 String filename = importFile.getAbsolutePath(); File f = new File(filename); Archive a = null; try { a = new Archive(f);
String filename = importFile.getAbsolutePath();
File f = new File(filename);
Archive a = null;
try {
a = new Archive(f);
} catch (RarException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (a != null) {
FileHeader fh = a.nextFileHeader();
while (fh != null) {
try {
if(fh.getFileNameString().endsWith(".jml")){
Path tempJml=Files.createTempFile("jml",".jml");
FileOutputStream outJml=new FileOutputStream(tempJml.toFile());
InputStream in=a.getInputStream(fh);
int lenj;
while ((lenj = in.read(buffer))>0 ) {
outJml.write(buffer, 0, lenj);
}
outJml.close();
in.close();
ZipFile zpjml=new ZipFile(tempJml.toFile());
zpjml.stream().forEach((jmlEntry)->{
System.out.println(jmlEntry.getName());
if(jmlEntry.getName().endsWith(".xml")){
try {
InputStream x = null;
try {
x = zpjml.getInputStream(jmlEntry);
} catch (IOException ex) {
Logger.getLogger(ConvertController.class.getName()).log(Level.SEVERE, null, ex);
}
List<Card> xml = convertXml(x);
if(xml!=null){
xmlPat = createNewXml(xml,jmlEntry.getName());
}
ZipEntry newZe=new ZipEntry(jmlEntry.getName().substring(0,jmlEntry.getName().lastIndexOf("."))+".xml");
zos.putNextEntry(newZe);
InputStream inXml=new FileInputStream(xmlPat);
int len;
while ((len = inXml.read(buffer))>0 ) {
zos.write(buffer, 0, len);
}
zos.closeEntry();
inXml.close();
x.close();
Path temp=Paths.get(xmlPat);
Files.deleteIfExists(temp);
} catch (DocumentException ex) {
Logger.getLogger(ConvertController.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(ConvertController.class.getName()).log(Level.SEVERE, null, ex);
}
}else if(jmlEntry.getName().startsWith("images")){
try (InputStream inImag = zpjml.getInputStream(jmlEntry)) {
ZipEntry newZe=new ZipEntry(jmlEntry.getName());
zos.putNextEntry(newZe);
int len;
while ((len = inImag.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
zos.closeEntry();
inImag.close();
} catch (IOException ex) {
Logger.getLogger(ConvertController.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
}
else if(fh.getFileNameString().endsWith(".xml")){
InputStream in=a.getInputStream(fh);
List<Card> xml = convertXml(in);
if(xml!=null){
xmlPath = createNewXml(xml,fh.getFileNameString());
}
ZipEntry newZe=new ZipEntry(fh.getFileNameString().substring(0,fh.getFileNameString().lastIndexOf("."))+".xml");
zos.putNextEntry(newZe);
InputStream inXml = new FileInputStream(xmlPath);
int len;
while ((len = inXml.read(buffer))>0 ) {
zos.write(buffer, 0, len);
}
in.close();
zos.closeEntry();
inXml.close();
}
else if(fh.getFileNameString().startsWith("images")){
ZipEntry newZe=new ZipEntry(fh.getFileNameString());
zos.putNextEntry(newZe);
InputStream inFile=a.getInputStream(fh);
int len;
while ((len = inFile.read(buffer))>0 ) {
zos.write(buffer, 0, len);
}
inFile.close();
zos.closeEntry();
}else{
continue;
}
}catch(RarException | IOException e){
e.printStackTrace();
}
fh = a.nextFileHeader();
}
}
zos.close();
String filename=importFile.getAbsolutePath();
文件f=新文件(文件名);
存档a=空;
试一试{
a=新档案(f);
}捕获(稀有异常| IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
如果(a!=null){
FileHeader fh=a.nextFileHeader();
while(fh!=null){
试一试{
if(fh.getFileNameString().endsWith(“.jml”)){
路径tempJml=Files.createTempFile(“jml”,“.jml”);
FileOutputStream outJml=新的FileOutputStream(tempJml.toFile());
InputStream in=a.getInputStream(fh);
int lenj;
而((lenj=in.read(buffer))>0){
写(缓冲区,0,lenj);
}
outJml.close();
in.close();
ZipFile zpjml=新ZipFile(tempJml.toFile());
zpjml.stream().forEach((jmlEntry)->{
System.out.println(jmlEntry.getName());
if(jmlEntry.getName().endsWith(“.xml”)){
试一试{
InputStream x=null;
试一试{
x=zpjml.getInputStream(jmlEntry);
}捕获(IOEX异常){
Logger.getLogger(ConvertController.class.getName()).log(Level.SEVERE,null,ex);
}
列表xml=convertXml(x);
if(xml!=null){
xmlPat=createNewXml(xml,jmlEntry.getName());
}
ZipEntry newZe=newzipentry(jmlEntry.getName().substring(0,jmlEntry.getName().lastIndexOf(“.”)和“.xml”);
佐斯·普特内森特里(纽泽);
InputStream inXml=新文件InputStream(xmlPat);
内伦;
而((len=inXml.read(buffer))>0){
写入(缓冲区,0,len);
}
zos.closeEntry();
close();
x、 close();
Path temp=Path.get(xmlPat);
deleteIfExists(临时文件);
}捕获(DocumentException-ex){
Logger.getLogger(ConvertController.class.getName()).log(Level.SEVERE,null,ex);
}捕获(IOEX异常){
Logger.getLogger(ConvertController.class.getName()).log(Level.SEVERE,null,ex);
}
}else if(jmlEntry.getName().startsWith(“图像”)){
try(InputStream inImag=zpjml.getInputStream(jmlEntry)){
ZipEntry newZe=newzipentry(jmlEntry.getName());
佐斯·普特内森特里(纽泽);
内伦;
而((len=inImag.read(buffer))>0){
写入(缓冲区,0,len);
}
zos.closeEntry();
inImag.close();
}捕获(IOEX){
Logger.getLogger(ConvertController.class.getName()).log(Level.SEVERE,null,ex);
}
}
});
}
else if(fh.getFileNameString().endsWith(“.xml”)){
InputStream in=a.getInputStream(fh);
列表xml=convertXml(in);
if(xml!=null){
xmlPath=createNewXml(xml,fh.getFileNameString());
}
ZipEntry newZe=newzipentry(fh.getFileNameString().substring(0,fh.getFileNameString().lastIndexOf(“.”)和“.xml”);
佐斯·普特内森特里(纽泽);
InputStream inXml=新文件InputStream(xmlPath);
内伦;
而((len=inXml.read(buffer))>0){
写入(缓冲区,0,len);
}
in.close();
zos.closeEntry();
close();
}
else if(fh.getFileNameString().startsWith(“图像”)){
ZipEntry newZe=newzipentry(fh.getFileNameString());
佐斯·普特内森特里(纽泽);
InputStream infle=a.getInputStream(fh);
内伦;