gpt4 book ai didi

java - 有什么方法可以优化这个java代码吗?

转载 作者:行者123 更新时间:2023-12-02 00:22:39 25 4
gpt4 key购买 nike

此代码应在文件夹中查找图像,并将这些图像组合成 6000x6000 的图像。它正在工作,但速度确实很慢。我可以实现任何优化吗?

File in = new File(args[1]);
File out = new File(args[2]);
in.mkdirs();
out.mkdirs();
if(out.exists())
{
out.delete();
}
if(!in.isDirectory())
{
Main.printUsage();
}


BufferedImage bout = new BufferedImage(6032, 6032, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = bout.createGraphics();
int count = 0;
long starttime = System.currentTimeMillis();
for(int i=0; i<=376; i++)
{
for(int k=0; k<=376; k++)
{
File cu = new File(in, (i-188)+"-"+(k-188)+".png");
if(cu.exists())
{
count++;
try {
g.drawImage(ImageIO.read(cu), 16*i, 16*k, null);
} catch (IOException e) {
e.printStackTrace();
}
Runtime.getRuntime().;
}
}
}
System.out.println("Processed "+count+" chunks in "+((System.currentTimeMillis()-starttime)/1000F)+" seconds");

g.dispose();
try {
ImageIO.write(bout, "png", out);
} catch (IOException e) {
e.printStackTrace();
}

最佳答案

延迟可能发生在文件系统中,打开所有这些文件。由于单个目录中有如此多的文件,即使只是在目录中查找时间也将是非常重要的。

如果是这种情况,就不会有软件解决方案。尝试将文件放在闪存驱动器上,看看是否有帮助,即使只是作为测试。

关于java - 有什么方法可以优化这个java代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10660298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com