精华内容
下载资源
问答
  • java实现在线预览--poi实现word、excel、ppt转html

    万次阅读 多人点赞 2019-07-31 18:39:43
    java实现在线预览- -之poi实现word、excel、ppt转html

    java实现在线预览

    - -之poi实现word、excel、ppt转html

    ###简介
    java实现在线预览功能是一个大家在工作中也许会遇到的需求,如果公司有钱,直接使用付费的第三方软件或者云在线预览服务就可以了,例如永中office、office web 365(http://www.officeweb365.com/)他们都有云在线预览服务,就是要钱0.0
    如果想要免费的,可以用openoffice,还需要借助其他的工具(例如swfTools、FlexPaper等)才行,可参考这篇文章http://blog.csdn.net/z69183787/article/details/17468039,写的挺细的,实现原理就是:
    1.通过第三方工具openoffice,将word、excel、ppt、txt等文件转换为pdf文件;
    2.通过swfTools将pdf文件转换成swf格式的文件;
    3.通过FlexPaper文档组件在页面上进行展示。
    当然如果装了Adobe Reader XI,那把pdf直接拖到浏览器页面就可以直接打开预览,这样就不需要步骤2、3了,前提就是客户装了Adobe Reader XI这个pdf阅读器。
    我这里介绍通过poi实现word、excel、ppt转html,这样就可以放在页面上了。

    ###word转html

    package wordToHtml;
    
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.util.List;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    import org.apache.commons.io.FileUtils;
    import org.apache.poi.hwpf.HWPFDocument;
    import org.apache.poi.hwpf.converter.PicturesManager;
    import org.apache.poi.hwpf.converter.WordToHtmlConverter;
    import org.apache.poi.hwpf.usermodel.Picture;
    import org.apache.poi.hwpf.usermodel.PictureType;
    import org.w3c.dom.Document;
    public class PoiWordToHtml {
     public static void main(String[] args) throws Throwable {
      final String path = "D:\\poi-test\\wordToHtml\\";
      final String file = "人员选择系分.doc";
      InputStream input = new FileInputStream(path + file);
      HWPFDocument wordDocument = new HWPFDocument(input);
      WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(
        DocumentBuilderFactory.newInstance().newDocumentBuilder()
          .newDocument());
      wordToHtmlConverter.setPicturesManager(new PicturesManager() {
       public String savePicture(byte[] content, PictureType pictureType,
         String suggestedName, float widthInches, float heightInches) {
        return suggestedName;
       }
      });
      wordToHtmlConverter.processDocument(wordDocument);
      List pics = wordDocument.getPicturesTable().getAllPictures();
      if (pics != null) {
       for (int i = 0; i < pics.size(); i++) {
        Picture pic = (Picture) pics.get(i);
        try {
         pic.writeImageContent(new FileOutputStream(path
           + pic.suggestFullFileName()));
        } catch (FileNotFoundException e) {
         e.printStackTrace();
        }
       }
      }
      Document htmlDocument = wordToHtmlConverter.getDocument();
      ByteArrayOutputStream outStream = new ByteArrayOutputStream();
      DOMSource domSource = new DOMSource(htmlDocument);
      StreamResult streamResult = new StreamResult(outStream);
      TransformerFactory tf = TransformerFactory.newInstance();
      Transformer serializer = tf.newTransformer();
      serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
      serializer.setOutputProperty(OutputKeys.INDENT, "yes");
      serializer.setOutputProperty(OutputKeys.METHOD, "html");
      serializer.transform(domSource, streamResult);
      outStream.close();
      String content = new String(outStream.toByteArray());
      FileUtils.writeStringToFile(new File(path, "人员选择系分.html"), content, "utf-8");
     }
    }
    

    ###excel转html

    package excelToHtml;
    
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.transform.OutputKeys;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.dom.DOMSource;
    import javax.xml.transform.stream.StreamResult;
    
    import org.apache.commons.io.FileUtils;
    import org.apache.poi.hssf.converter.ExcelToHtmlConverter;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.hwpf.converter.PicturesManager;
    import org.apache.poi.hwpf.converter.WordToHtmlConverter;
    import org.apache.poi.hwpf.usermodel.Picture;
    import org.apache.poi.hwpf.usermodel.PictureType;
    import org.w3c.dom.Document;
    
    
    public class PoiExcelToHtml {
    	final static String path = "D:\\poi-test\\excelToHtml\\";
    	 final static String file = "exportExcel.xls";
     public static void main(String args[]) throws Exception {
    	 
    	 InputStream input=new FileInputStream(path+file);
    	 HSSFWorkbook excelBook=new HSSFWorkbook(input);
    	 ExcelToHtmlConverter excelToHtmlConverter = new ExcelToHtmlConverter (DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument() );
    	 excelToHtmlConverter.processWorkbook(excelBook);
    	 List pics = excelBook.getAllPictures();
         if (pics != null) {
             for (int i = 0; i < pics.size(); i++) {
                 Picture pic = (Picture) pics.get (i);
                 try {
                     pic.writeImageContent (new FileOutputStream (path + pic.suggestFullFileName() ) );
                 } catch (FileNotFoundException e) {
                     e.printStackTrace();
                 }
             }
         }
         Document htmlDocument =excelToHtmlConverter.getDocument();
         ByteArrayOutputStream outStream = new ByteArrayOutputStream();
         DOMSource domSource = new DOMSource (htmlDocument);
         StreamResult streamResult = new StreamResult (outStream);
         TransformerFactory tf = TransformerFactory.newInstance();
         Transformer serializer = tf.newTransformer();
         serializer.setOutputProperty (OutputKeys.ENCODING, "utf-8");
         serializer.setOutputProperty (OutputKeys.INDENT, "yes");
         serializer.setOutputProperty (OutputKeys.METHOD, "html");
         serializer.transform (domSource, streamResult);
         outStream.close();
    
         String content = new String (outStream.toByteArray() );
    
         FileUtils.writeStringToFile(new File (path, "exportExcel.html"), content, "utf-8");
     }
    }
    

    ###ppt转html
    其实只是ppt转图片,有了图片后放到页面上去,点击下一页就一张张显示就可以了。这里只介绍ppt转图片的过程。

    package pptToImg;
    
    import java.awt.Dimension;   
    import java.io.File;   
    import java.io.FileInputStream;   
    import java.io.FileNotFoundException;   
    import java.io.FileOutputStream;   
    import java.io.IOException;   
      
    import java.awt.Color;   
    import java.awt.Dimension;   
    import java.awt.Graphics2D;   
    import java.awt.geom.Rectangle2D;   
    import java.awt.image.BufferedImage;   
      
    import org.apache.poi.hslf.model.TextRun;   
    import org.apache.poi.hslf.record.Slide;   
    import org.apache.poi.hslf.usermodel.RichTextRun;   
    import org.apache.poi.hslf.usermodel.SlideShow;   
      
    public class PPTtoImage {   
        public static void main(String[] args) {   
            // 读入PPT文件   
            File file = new File("D:/poi-test/pptToImg/test.ppt");   
            doPPTtoImage(file);   
        }   
      
        public static boolean doPPTtoImage(File file) {   
            boolean isppt = checkFile(file);   
            if (!isppt) {   
                System.out.println("The image you specify don't exit!");   
                return false;   
            }   
            try {   
      
                FileInputStream is = new FileInputStream(file);   
                SlideShow ppt = new SlideShow(is);   
                is.close();   
                Dimension pgsize = ppt.getPageSize();   
                org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides();   
                for (int i = 0; i < slide.length; i++) {   
                    System.out.print("第" + i + "页。");   
                       
                    TextRun[] truns = slide[i].getTextRuns();      
                    for ( int k=0;k<truns.length;k++){      
                       RichTextRun[] rtruns = truns[k].getRichTextRuns();      
                      for(int l=0;l<rtruns.length;l++){      
                           int index = rtruns[l].getFontIndex();      
                            String name = rtruns[l].getFontName();                
                            rtruns[l].setFontIndex(1);      
                            rtruns[l].setFontName("宋体");  
    //                        System.out.println(rtruns[l].getText());
                       }      
                    }      
                    BufferedImage img = new BufferedImage(pgsize.width,pgsize.height, BufferedImage.TYPE_INT_RGB);   
      
                    Graphics2D graphics = img.createGraphics();   
                    graphics.setPaint(Color.BLUE);   
                    graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));   
                    slide[i].draw(graphics);   
      
                    // 这里设置图片的存放路径和图片的格式(jpeg,png,bmp等等),注意生成文件路径   
                    FileOutputStream out = new FileOutputStream("D:/poi-test/pptToImg/pict_"+ (i + 1) + ".jpeg");   
                    javax.imageio.ImageIO.write(img, "jpeg", out);   
                    out.close();   
      
                }   
                System.out.println("success!!");   
                return true;   
            } catch (FileNotFoundException e) {   
                System.out.println(e);   
                // System.out.println("Can't find the image!");   
            } catch (IOException e) {   
            }   
            return false;   
        }   
      
        // function 检查文件是否为PPT   
        public static boolean checkFile(File file) {   
      
            boolean isppt = false;   
            String filename = file.getName();   
            String suffixname = null;   
            if (filename != null && filename.indexOf(".") != -1) {   
                suffixname = filename.substring(filename.indexOf("."));   
                if (suffixname.equals(".ppt")) {   
                    isppt = true;   
                }   
                return isppt;   
            } else {   
                return isppt;   
            }   
        }   
      
    }  
    

    ppt转图片有个缺陷,就是ppt里不是宋体的字有些可能会变成框框。
    以上都需要引入poi的jar包。
    要实现在线预览,只需把转换得到的html在新标签页打开或者镶嵌到某块区域就可以展现了。

    展开全文
  • 使用Java实现串口通信demo下载

    热门讨论 2017-10-11 14:10:36
    博客地址:http://blog.csdn.net/kong_gu_you_lan/article/details/52302075 GitHub地址:https://github.com/alidili/SerialPortDemo
  • java实现屏幕录制和播放(包含录音)

    热门讨论 2016-05-31 21:56:44
    java写了个录视频的小程序, 录制后文件默认保存在系统临时目录, 录制视频和麦克风声音, 播放时回车键进入全屏, esc退出全屏, 希望能对有兴趣的朋友提供参考
  • Java实现在线预览--openOffice实现

    万次阅读 多人点赞 2019-07-31 18:39:57
    Java实现在线预览–openOffice实现

    #Java实现在线预览–openOffice实现
    ##简介
    之前有写了poi实现在线预览的文章,里面也说到了使用openOffice也可以做到,这里就详细介绍一下。
    我的实现逻辑有两种:
    一、利用jodconverter(基于OpenOffice服务)将文件(.doc、.docx、.xls、.ppt)转化为html格式。
    二、利用jodconverter(基于OpenOffice服务)将文件(.doc、.docx、.xls、.ppt)转化为pdf格式。
    转换成html格式大家都能理解,这样就可以直接在浏览器上查看了,也就实现了在线预览的功能;转换成pdf格式这点,需要用户安装了Adobe Reader XI,这样你会发现把pdf直接拖到浏览器页面可以直接打开预览,这样也就实现了在线预览的功能。
    ##将文件转化为html格式或者pdf格式
    话不多说,直接上代码。

    package com.pdfPreview.util;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.ConnectException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import com.artofsolving.jodconverter.DocumentConverter;
    import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
    import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
    import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
    /**
     * 利用jodconverter(基于OpenOffice服务)将文件(*.doc、*.docx、*.xls、*.ppt)转化为html格式或者pdf格式,
     * 使用前请检查OpenOffice服务是否已经开启, OpenOffice进程名称:soffice.exe | soffice.bin
     * 
     * @author yjclsx
     */
    public class Doc2HtmlUtil {
    
    	private static Doc2HtmlUtil doc2HtmlUtil;
    
    	/**
    	 * 获取Doc2HtmlUtil实例
    	 */
    	public static synchronized Doc2HtmlUtil getDoc2HtmlUtilInstance() {
    		if (doc2HtmlUtil == null) {
    			doc2HtmlUtil = new Doc2HtmlUtil();
    		}
    		return doc2HtmlUtil;
    	}
    
    	/**
    	 * 转换文件成html
    	 * 
    	 * @param fromFileInputStream:
    	 * @throws IOException 
    	 */
    	public String file2Html(InputStream fromFileInputStream, String toFilePath,String type) throws IOException {
    		Date date = new Date();
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
    		String timesuffix = sdf.format(date);
    		String docFileName = null;
    		String htmFileName = null;
    		if("doc".equals(type)){
    			docFileName = "doc_" + timesuffix + ".doc";
    			htmFileName = "doc_" + timesuffix + ".html";
    		}else if("docx".equals(type)){
    			docFileName = "docx_" + timesuffix + ".docx";
    			htmFileName = "docx_" + timesuffix + ".html";
    		}else if("xls".equals(type)){
    			docFileName = "xls_" + timesuffix + ".xls";
    			htmFileName = "xls_" + timesuffix + ".html";
    		}else if("ppt".equals(type)){
    			docFileName = "ppt_" + timesuffix + ".ppt";
    			htmFileName = "ppt_" + timesuffix + ".html";
    		}else{
    			return null;
    		}
    
    		File htmlOutputFile = new File(toFilePath + File.separatorChar + htmFileName);
    		File docInputFile = new File(toFilePath + File.separatorChar + docFileName);
    		if (htmlOutputFile.exists())
    			htmlOutputFile.delete();
    		htmlOutputFile.createNewFile();
    		if (docInputFile.exists())
    			docInputFile.delete();
    		docInputFile.createNewFile();
    		/**
    		 * 由fromFileInputStream构建输入文件
    		 */
    		try {
    			OutputStream os = new FileOutputStream(docInputFile);
    			int bytesRead = 0;
    			byte[] buffer = new byte[1024 * 8];
    			while ((bytesRead = fromFileInputStream.read(buffer)) != -1) {
    				os.write(buffer, 0, bytesRead);
    			}
    
    			os.close();
    			fromFileInputStream.close();
    		} catch (IOException e) {
    		}
    	
    	    OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
    		try {
    			connection.connect();
    		} catch (ConnectException e) {
    			System.err.println("文件转换出错,请检查OpenOffice服务是否启动。");
    		}
    		// convert
    		DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
    		converter.convert(docInputFile, htmlOutputFile);
    		connection.disconnect();
    		// 转换完之后删除word文件
    		docInputFile.delete();
    		return htmFileName;
    	}
    	
    	/**
    	 * 转换文件成pdf
    	 * 
    	 * @param fromFileInputStream:
    	 * @throws IOException 
    	 */
    	public String file2pdf(InputStream fromFileInputStream, String toFilePath,String type) throws IOException {
    		Date date = new Date();
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
    		String timesuffix = sdf.format(date);
    		String docFileName = null;
    		String htmFileName = null;
    		if("doc".equals(type)){
    			docFileName = "doc_" + timesuffix + ".doc";
    			htmFileName = "doc_" + timesuffix + ".pdf";
    		}else if("docx".equals(type)){
    			docFileName = "docx_" + timesuffix + ".docx";
    			htmFileName = "docx_" + timesuffix + ".pdf";
    		}else if("xls".equals(type)){
    			docFileName = "xls_" + timesuffix + ".xls";
    			htmFileName = "xls_" + timesuffix + ".pdf";
    		}else if("ppt".equals(type)){
    			docFileName = "ppt_" + timesuffix + ".ppt";
    			htmFileName = "ppt_" + timesuffix + ".pdf";
    		}else{
    			return null;
    		}
    
    		File htmlOutputFile = new File(toFilePath + File.separatorChar + htmFileName);
    		File docInputFile = new File(toFilePath + File.separatorChar + docFileName);
    		if (htmlOutputFile.exists())
    			htmlOutputFile.delete();
    		htmlOutputFile.createNewFile();
    		if (docInputFile.exists())
    			docInputFile.delete();
    		docInputFile.createNewFile();
    		/**
    		 * 由fromFileInputStream构建输入文件
    		 */
    		try {
    			OutputStream os = new FileOutputStream(docInputFile);
    			int bytesRead = 0;
    			byte[] buffer = new byte[1024 * 8];
    			while ((bytesRead = fromFileInputStream.read(buffer)) != -1) {
    				os.write(buffer, 0, bytesRead);
    			}
    
    			os.close();
    			fromFileInputStream.close();
    		} catch (IOException e) {
    		}
    
    		OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
    		try {
    			connection.connect();
    		} catch (ConnectException e) {
    			System.err.println("文件转换出错,请检查OpenOffice服务是否启动。");
    		}
    		// convert
    		DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
    		converter.convert(docInputFile, htmlOutputFile);
    		connection.disconnect();
    		// 转换完之后删除word文件
    		docInputFile.delete();
    		return htmFileName;
    	}
    	
    	public static void main(String[] args) throws IOException {
    		Doc2HtmlUtil coc2HtmlUtil = getDoc2HtmlUtilInstance();
    		File file = null;
    		FileInputStream fileInputStream = null;
    		
    		file = new File("D:/poi-test/exportExcel.xls");
    		fileInputStream = new FileInputStream(file);
    //		coc2HtmlUtil.file2Html(fileInputStream, "D:/poi-test/openOffice/xls","xls");
    		coc2HtmlUtil.file2pdf(fileInputStream, "D:/poi-test/openOffice/xls","xls");
    		
    		file = new File("D:/poi-test/test.doc");
    		fileInputStream = new FileInputStream(file);
    //		coc2HtmlUtil.file2Html(fileInputStream, "D:/poi-test/openOffice/doc","doc");
    		coc2HtmlUtil.file2pdf(fileInputStream, "D:/poi-test/openOffice/doc","doc");
    		
    		file = new File("D:/poi-test/周报模版.ppt");
    		fileInputStream = new FileInputStream(file);
    //		coc2HtmlUtil.file2Html(fileInputStream, "D:/poi-test/openOffice/ppt","ppt");
    		coc2HtmlUtil.file2pdf(fileInputStream, "D:/poi-test/openOffice/ppt","ppt");
    		
    		file = new File("D:/poi-test/test.docx");
    		fileInputStream = new FileInputStream(file);
    //		coc2HtmlUtil.file2Html(fileInputStream, "D:/poi-test/openOffice/docx","docx");
    		coc2HtmlUtil.file2pdf(fileInputStream, "D:/poi-test/openOffice/docx","docx");
    		
    	}
    
    }
    

    转换成html和转换成pdf的过程几乎一样,只是在创建输出的File时前者命名为XXX.html,后者命名为XXX.pdf,在执行converter.convert(docInputFile, htmlOutputFile);时,jodconverter会自己根据文件类型名转换成对应的文件。
    注意,main方法里别file2Html和file2pdf都调用,会报错的,要么转html,要么转pdf,只能选一个。还有就是在执行之前,需要启动openOffice的服务:在openOffice目录下的命令窗口中执行soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard即可启动。
    以上需要引入jodconverter的jar包。

    展开全文
  • 微信公众号支付Java实现Demo

    千次下载 热门讨论 2016-10-21 16:21:52
    微信公众号支付Java实现Demo
  • java实现的签到系统

    热门讨论 2015-05-07 12:41:49
    java实现的简易签到系统,web版的,含数据库文件,可以直接运行
  • java实现发送短信验证码功能

    千次下载 热门讨论 2015-04-17 19:44:36
    使用的是信易通的短信平台接口,然后在Java中使用HttpClient模拟POST请求或者GET请求(看短信平台要求,一般的情况下都是POST请求),调用短信平台提供的接口(遵循短信平台的接口规范即可)发送短信验证码
  • 我自己按照国密文档通过Java实现SM2密码算法加密/解密、签名验签,SM3密码杂凑算法,SM4分组密码算法ECB、CBC模式加密/解密。 经过详尽的测试过后没有发现问题,但建议大家在使用时仍进行验证。若有问题请及时反馈,...
  • Java实现简单的聊天工具

    热门讨论 2013-07-24 23:00:19
    Java实现的一个简单聊天工具,有服务器也有客户端,能发送文字消息和文件,但是用户上线并未存入数据库,而只是简单的缓存在服务器的一个数组中,所以,只要服务器一关闭,所有用户数据都会消失,界面是用第三方包...
  • 协同过滤推荐算法java实现

    千次下载 热门讨论 2014-05-14 20:55:30
    本资源是推荐系统中最基本且最精但的协同过滤推荐算法实现,包括数据集,以及算法的评价指标MAE的计算,数据集采用MovieLens中两个数据集进行测试,需要别的数据集可以根据自己需要添加,只需修改Base.java文件中的...
  • Java实现蓝桥杯模拟递增的数

    万次阅读 多人点赞 2020-03-09 12:58:39
    import java.util.Scanner; public class Demo7递增数 { public static int n=0,count=0; public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); sc.close();...

    问题描述
      一个正整数如果任何一个数位不大于右边相邻的数位,则称为一个数位递增的数,例如1135是一个数位递增的数,而1024不是一个数位递增的数。
      给定正整数 n,请问在整数 1 至 n 中有多少个数位递增的数?
    输入格式
      输入的第一行包含一个整数 n。
    输出格式
      输出一行包含一个整数,表示答案。
    样例输入
    30
    样例输出
    26
    评测用例规模与约定
      对于 40% 的评测用例,1 <= n <= 1000。
      对于 80% 的评测用例,1 <= n <= 100000。
      对于所有评测用例,1 <= n <= 1000000。

    package 第十三次模拟;
    
    import java.util.Scanner;
    
    public class Demo7递增数 {
    	public static int n=0,count=0;
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		n = sc.nextInt();
    		sc.close();
    		f(0,1);
    		System.out.println(count-1);
    	}
    	public static  void f(int num,int temp){
    		if(num>n){
    			return;
    		}
    		else{
    //			System.out.println(num);
    			count++;
    		}
    		for (int i = temp; i <10; i++) {
    			f(num*10+i,i);
    		}
    	}
    	
    
    }
    
    
    展开全文
  • java实现爬虫抓取网页中的表格数据功能源码

    千次下载 热门讨论 2016-12-20 10:52:27
    使用java代码基于MyEclipse开发环境实现爬虫抓取网页中的表格数据,将抓取到的数据在控制台打印出来,需要后续处理的话可以在打印的地方对数据进行操作。包解压后导入MyEclipse就可以使用,在TestCrawTable中右键...
  • java实现的sift全部代码

    千次下载 热门讨论 2014-03-27 15:41:51
    java代码写的sift图片识别算法,欢迎交流指正!图片匹配效果还是可以的,可以直接运行!木有使用opencv、metlab等api = =
  • Java实现与FTP服务器的数据传输2

    热门讨论 2015-11-12 16:53:20
    Java实现与FTP服务器的数据传输。 其中包含了两种实现方法。详情请参见本人博客: http://blog.csdn.net/lemon_tree12138/article/details/49777467
  • java实现websocket client

    千次下载 热门讨论 2013-11-08 17:47:12
    java_websocket.jar最新jar包 可用java实现websocket客户端,使用demo: https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/example/ExampleClient.java
  • Java实现加减乘除运算

    万次阅读 2018-11-08 14:40:50
    ** 利用接口做参数,写...(2)设计四个类分别实现此接口,完成加减乘除运算。 (3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two),此方法能够用传递过来的对象调用comp...

    ** 利用接口做参数,写个计算器,能完成加减乘除运算。

    • (1)定义一个接口Compute含有一个方法int computer(int n, int m)。
    • (2)设计四个类分别实现此接口,完成加减乘除运算。
    • (3)设计一个类UseCompute,类中含有方法:public void useCom(Compute com, int one, int two),此方法能够用传递过来的对象调用computer方法完成运算,并输出运算的结果。
    • (4)设计一个主类Test,调用UseCompute中的方法useCom来完成加减乘除运算。**
    package work;
    
    interface ICompute{
        int compute(int m,int n);
    }
    
    class UseCompute{
        private int m;
        private int n;
        public void UseCom(ICompute com,int a,int b){
            this.m=a;
            this.n=b;
            com.compute(m,n);
        }
    }
    
    class Add implements ICompute{
        private int m;
        private int n;
        private int result;
        public int compute(int m,int n){
            this.m=m;
            this.n=n;
            this.result=m+n;
            System.out.println(m+"+"+n+"="+result);
            return result;
        }
    }
    
    class Minus implements ICompute{
        private int m;
        private int n;
        private int result;
        public int compute(int m,int n){
            this.m=m;
            this.n=n;
            this.result=m-n;
            System.out.println(m+"-"+n+"="+result);
            return result;
        }
    }
    
    class Mul implements ICompute{
        private int m;
        private int n;
        private int result;
        public int compute(int m,int n){
            this.m=m;
            this.n=n;
            this.result=m*n;
            System.out.println(m+"*"+n+"="+result);
            return result;
        }
    }
    
    class Div implements ICompute{
        private int m;
        private int n;
        private int result;
        public int compute(int m,int n){
            this.m=m;
            this.n=n;
            this.result=m/n;
            System.out.println(m+"/"+n+"="+result);
            return result;
        }
    }
    
    public class Test {
        public static void main(String[] args) {
            UseCompute com=new UseCompute();
            com.UseCom(new Add(),2,2);
            com.UseCom(new Minus(),5,2);
            com.UseCom(new Mul(),2,2);
            com.UseCom(new Div(),4,2);
    
        }
    }
    
    
    展开全文
  • 几个推荐算法的java实现

    千次下载 热门讨论 2012-01-05 20:00:28
    java实现的几个推荐算法:slopeone SVD,RSVD,ItemNeighborSVD 内有readme,相关内容在blog.csdn.net/lgnlgn
  • Java实现Socket长连接和短连接

    千次下载 热门讨论 2014-09-21 11:32:43
    Java实现Socket长连接和短连接,实现原理可参见个人博客
  • 幸运大转盘-jQuery+Java实现的抽奖程序(完整版)

    千次下载 热门讨论 2014-06-28 00:29:52
    原文博客:http://blog.csdn.net/appearbeauty/article/details/13766377
  • java实现Excel数据导入到数据库

    千次下载 热门讨论 2014-05-31 23:59:34
    java实现Excel数据导入到数据库,如果数据库中存在就更新。 数据库数据导入到Excel表中。
  • 23种设计模式之Java实现

    千次下载 热门讨论 2012-12-02 00:59:26
    Java实现的23种设计模式,完整的代码,本想无积分下载来着,后来一想还是设置点儿把,毕竟我不喜欢不劳而获的思想,希望每个TX在下载别人的资源的同时,也积极上传资源与他人一起分享!
  • java实现开根号

    万次阅读 2017-08-22 20:46:51
    java开根号
  • java实现md5 加密解密

    热门讨论 2013-08-20 09:58:44
    java实现md5 加密解密(在网络中MD5是著名的不可逆算法,但是如果知道MD5的加密的字符串 则可以通过自己的加密算法对明文进行加密,对加密后的密文与字符串匹配; 匹配成功,表示找到明文;但是此程序的时间耗费较高!仅...
  • 单点登录sso的原理与java实现详细讲解与示例(文档与源码)
  • java实现单链表

    万次阅读 多人点赞 2019-03-06 22:08:37
    链表是java数据结构中一种很基础很常见却也很重要的数据结构,JDK中许多内置jar包基于单链表实现,比如像我们熟悉的linkedList等,为什么要使用链表呢? 我们知道java中很多集合的底层是基于数组实现的,数组有一个...
  • 图片搜索(java实现

    千次下载 热门讨论 2012-11-25 08:48:27
    这是一个用pHash算法实现的图像搜索实例,供大家相互学习参考。
  • 相似图片搜索原理 Java实现源码

    千次下载 热门讨论 2011-12-24 15:39:54
    Google "相似图片搜索":你可以用一张图片,搜索互联网上所有与它相似的图片。 这种技术的原理是什么?计算机怎么知道两张图片相似呢? 根据Neal Krawetz博士的解释,原理非常简单易懂。...这是一个最简单的实现
  • 使用java语言来实现数据结构中涉及到的算法,并针对每个算法搭配习题进行实现
  • modbusTCP协议java实现(带注释)

    热门讨论 2013-05-02 12:19:49
    modbusTCP协议java实现(带注释)
  • 多维k-means聚类算法java简单实现,导入运行KmeansTest.java可看到结果

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,506,336
精华内容 1,802,534
关键字:

java实现

java 订阅