【发布时间】:2014-11-01 21:52:34
【问题描述】:
我为一个朋友写了一个调整图像大小的程序,如果我用 eclipse 编译它似乎可以工作,它只是调整正在执行程序的所有图像的大小,并在那里创建一个新目录并将新的缩放图像保存到文件夹。
但是当我在java中导出它时,我得到一个空指针异常指向的行
" for (File file : allSubFiles) {"
请帮忙
public class Sample {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String a = (Sample.class.getProtectionDomain().getCodeSource().getLocation().getPath());
File dir = new File(a+"resized");
dir.mkdir();
System.out.println(a);
File tempfile = new File(a);
File[] allSubFiles=tempfile.listFiles();
for (File file : allSubFiles) {
if(file.isDirectory())
{
}
else
{
String temp = file.getAbsolutePath();
String substr = temp.substring(temp.length() - 3);
//System.out.println(substr);
if(substr.equals("png") || substr.equals("gif") || substr.equals("jpg") || substr.equals("bmp") )
{
//System.out.println(file.getAbsolutePath()+" is file");
BufferedImage bufimage = ImageIO.read(file);
BufferedImage newImage = new BufferedImage(90, 90, BufferedImage.TYPE_INT_RGB);
Graphics g = newImage.createGraphics();
g.drawImage(bufimage, 0, 0, 90, 90, null);
g.dispose();
File outputfile = new File(a+"resized/"+file.getName());
ImageIO.write(newImage, "png", outputfile);
}
}
}
}
}
【问题讨论】:
-
好吧,你的调试发现了什么?
标签: java eclipse jar scale executable-jar