Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要在更改名称后使用Java保存文件,请使用edu.duke库中的方法_Java_Coursera Api - Fatal编程技术网

要在更改名称后使用Java保存文件,请使用edu.duke库中的方法

要在更改名称后使用Java保存文件,请使用edu.duke库中的方法,java,coursera-api,Java,Coursera Api,我最近从coursera.org开始学习如何用Java编写代码。 但我无法进一步进步,因为我无法找出我的代码不起作用 此代码更改名称并使用新名称保存文件 public class Copyfile { public void doSave() { DirectoryResource dr = new DirectoryResource(); for(File f : dr.selectedFiles()) { ImageResource ir = new

我最近从coursera.org开始学习如何用Java编写代码。 但我无法进一步进步,因为我无法找出我的代码不起作用

此代码更改名称并使用新名称保存文件

public class Copyfile {

public void doSave()
{
    DirectoryResource dr = new DirectoryResource();
    for(File f : dr.selectedFiles())
    {
        ImageResource ir = new ImageResource(f);
        String name = ir.getFileName();
        ImageResource r = new ImageResource(ir);
        String x = "copy-"+name;
        r.setFileName(x);
        r.save();
        System.out.println(name);
    }
}
}

其中,虽然非常相似,但这段代码没有

public class GREyscale {
public ImageResource convertImage(ImageResource inimage)
{
  ImageResource outimage = new ImageResource(inimage.getWidth(), inimage.getHeight());
  for(Pixel pixel : outimage.pixels())
  {
      Pixel inPixel = inimage.getPixel(pixel.getX(),pixel.getY());
      int val =(inPixel.getRed() + inPixel.getBlue() + inPixel.getGreen())/3;
      pixel.setRed(val);
      pixel.setBlue(val);
      pixel.setGreen(val);
    }

    return outimage;
}

public void convert()
{
  DirectoryResource dr = new DirectoryResource();
  for(File f : dr.selectedFiles())
  {
      ImageResource ir = new ImageResource(f);
      ImageResource r = convertImage(ir);
      String name = ir.getFileName();
      String x ="grey-"+name;
      r.setFileName(x);
      r.save();
      System.out.println(r.getFileName());
      r.draw();
    }
}

即使尝试了所有可能的改动,我也无法找出原因。

控制台会怎么说?你的代码中有大量的方法,这可能是导致它出错的原因,另外,你为什么使用
.draw()
本身没有错误。只是在第二种情况下,我看不到文件夹中的新文件。.draw()是显示转换为灰度的图像,而你的
convertImage
工作正常吗?