zoukankan      html  css  js  c++  java
  • CAD

    (一)

    首先,关于cad软件,通过命令EATTEXT可以得到3D模型的数据,并导出到txt等文件中。

    然后,jsp页面实现了文件的上传,也就是说用户可以把自己设计的3D图形上传到我们的服务器中然后进行处理。

    <%@ page contentType="text/html; charset=GBK" %>

    <%@ page import="java.io.*"%>

    <%@ page import="java.util.*"%>

    <%@ page import="javax.servlet.*"%>

    <%@ page import="javax.servlet.http.*"%>

    <html><head><title>upFile</title></head>

    <body bgcolor="#ffffff">

    <%

    //定义上载文件的最大字节

    int MAX_SIZE = 102400 * 102400;

    // 创建根路径的保存变量

    String rootPath;

    //声明文件读入类

    DataInputStream in = null;

    FileOutputStream fileOut = null;

    //取得客户端的网络地址

    String remoteAddr = request.getRemoteAddr();

    //获得服务器的名字

    String serverName = request.getServerName();

     

    //取得互联网程序的绝对地址

    String realPath = request.getRealPath(serverName);

    realPath = realPath.substring(0,realPath.lastIndexOf("\\"));

    //创建文件的保存目录

    rootPath = realPath + "\\upload\\";

    //取得客户端上传的数据类型

    String contentType = request.getContentType();

    try{

    if(contentType.indexOf("multipart/form-data") >= 0){

    //读入上传的数据

    in = new DataInputStream(request.getInputStream());

    int formDataLength = request.getContentLength();

    if(formDataLength > MAX_SIZE){

    out.println("<P>上传的文件字节数不可以超过" + MAX_SIZE + "</p>");

    return;

    }

    //保存上传文件的数据

    byte dataBytes[] = new byte[formDataLength];

    int byteRead = 0;

    int totalBytesRead = 0;

    //上传的数据保存在byte数组

    while(totalBytesRead < formDataLength){

    byteRead = in.read(dataBytes,totalBytesRead,formDataLength);

    totalBytesRead += byteRead;

    }

    //根据byte数组创建字符串

    String file = new String(dataBytes);

    //out.println(file);

    //取得上传的数据的文件名

    String saveFile = file.substring(file.indexOf("filename=\"") + 10);

    saveFile = saveFile.substring(0,saveFile.indexOf("\n"));

    saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));

    int lastIndex = contentType.lastIndexOf("=");

    //取得数据的分隔字符串

    String boundary = contentType.substring(lastIndex + 1,contentType.length());

    //创建保存路径的文件名

    String fileName = rootPath + saveFile;

    //out.print(fileName);

    int pos;

    pos = file.indexOf("filename=\"");

    pos = file.indexOf("\n",pos) + 1;

    pos = file.indexOf("\n",pos) + 1;

    pos = file.indexOf("\n",pos) + 1;

    int boundaryLocation = file.indexOf(boundary,pos) - 4;

    //out.println(boundaryLocation);

    //取得文件数据的开始的位置

    int startPos = ((file.substring(0,pos)).getBytes()).length;

    //out.println(startPos);

    //取得文件数据的结束的位置

    int endPos = ((file.substring(0,boundaryLocation)).getBytes()).length;

    //out.println(endPos);

    //检查上载文件是否存在

    File checkFile = new File(fileName);

    if(checkFile.exists()){

    out.println("<p>" + saveFile + "文件已经存在.</p>");

    }

    //检查上载文件的目录是否存在

    File fileDir = new File(rootPath);

    if(!fileDir.exists()){

    fileDir.mkdirs();

    }

    //创建文件的写出类

    fileOut = new FileOutputStream(fileName);

    //保存文件的数据

    fileOut.write(dataBytes,startPos,(endPos - startPos));

    fileOut.close();

    out.println(saveFile + "文件成功上载.</p>");

    }else{

    String content = request.getContentType();

    out.println("<p>上传的数据类型不是multipart/form-data</p>");

    }

    }catch(Exception ex){

    throw new ServletException(ex.getMessage());

    }

    %>

    </body>

    </html>

    最后,文本内容读取,对数据进行分类处理。(注:分类还未实现)

    <%@page import="java.io.BufferedReader"%>

    <%@page import="java.io.FileReader"%>

    <%@page import="java.io.File"%>

    <%@ page language="java" contentType="text/html; charset=utf-8"

        pageEncoding="utf-8"%>

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

    <title>Insert title here</title>

    </head>

    <body>

    <%

        response.setCharacterEncoding("UTF-8");

        //此处写你的txt文件的绝对路径

        FileReader reader = new FileReader("C:/Users/Mr.cooper/Desktop/Drawing3.txt");

        BufferedReader bufferedReader = new BufferedReader(reader);

        StringBuffer txt = new StringBuffer();

        String temp = null;

        while((temp = bufferedReader.readLine()) != null) {

        String str= new String(temp.getBytes(),"utf-8");

            txt.append(str);

        }

      

    %>

    <textarea rows="400" cols="300">

    <%=txt %>

    </textarea>

    </body>

    </html>

  • 相关阅读:
    前端提示“页面正在载入”的功能实现
    JSON那些事
    如何让nodejs同步操作
    nodejs的一些局限
    《javascript高级程序设计》读书笔记——作用域
    svn教程
    从雷军谈小米中的一些思考
    云Vps安全设置
    不同服务器数据库之间的数据操作
    C#语言的Excel文件导入导出
  • 原文地址:https://www.cnblogs.com/yizhuceyonghuming/p/5847567.html
Copyright © 2011-2022 走看看