当前位置: 代码迷 >> J2SE >> 关于读取ftp文件的有关问题
  详细解决方案

关于读取ftp文件的有关问题

热度:71   发布时间:2016-04-24 02:03:43.0
关于读取ftp文件的问题
现在要做一个图片合并的功能,需要根据图片ftp地址,先从ftp读取2张图片,然后将2张图片合并,再保存到ftp服务器上去,
该如何做呢。
Java code
public static void main(String[] args) {        // TODO Auto-generated method stub        try {               // 读取第一张图片               File fileOne = new File("ftp://odin:pass@127.0.0.1:21//0000//00083//20110531//00//X00R00083D1L01I000V000N61794T20110531000539875F7109A000Z00875034S31-1.jpg");               BufferedImage ImageOne = ImageIO.read(fileOne);               int width = ImageOne.getWidth();// 图片宽度               int height = ImageOne.getHeight();// 图片高度               // 从图片中读取RGB                int[] ImageArrayOne = new int[width * height];                ImageArrayOne = ImageOne.getRGB(0, 0, width, height, ImageArrayOne,0, width);               // 对第二张图片做相同的处理               File fileTwo = new File("ftp://odin:pass@127.0.0.1:21//0000//00008//20110520//14//X01R00008D1L01I000V000N31234T20110520143010555F0000A000Z00555557S31-1.jpg");               BufferedImage ImageTwo = ImageIO.read(fileTwo);               int[] ImageArrayTwo = new int[width * height];               ImageArrayTwo = ImageTwo.getRGB(0, 0, width, height, ImageArrayTwo,0, width);               // 生成新图片               // BufferedImage ImageNew = new BufferedImage(width * 2, height,               // BufferedImage.TYPE_INT_RGB);               BufferedImage ImageNew = new BufferedImage(width*2, height,BufferedImage.TYPE_INT_RGB);               ImageNew.setRGB(0, 0, width, height, ImageArrayOne, 0, width);// 设置左半部分的RGB               ImageNew.setRGB(width, 0, width, height, ImageArrayTwo, 0, width);// 设置右半部分的RGB               File outFile = new File("D:\\out1.jpg");               ImageIO.write(ImageNew, "jpg", outFile);// 写图片               }catch (Exception e) {                      e.printStackTrace();               }    }

File fileOne = new File("ftp://odin:pass@127.0.0.1:21//0000//00083//20110531//00//X00R00083D1L01I000V000N61794T20110531000539875F7109A000Z00875034S31-1.jpg");
报错:javax.imageio.IIOException: Can't read input file!

------解决方案--------------------
File fileOne = new File("ftp://odin:pass@127.0.0.1:21//0000//00083//20110531//00//X00R00083D1L01I000V000N61794T20110531000539875F7109A000Z00875034S31-1.jpg");

FILE是文件句柄...没有这么神奇...还能自适应FTP的...

JDK本身有FTP的处理包,位于sun.net.ftp
也有很多第三方的工具包

具体GOOGLE之
  相关解决方案