包含mimejava的词条

博主:adminadmin 2022-12-02 20:42:09 65

本篇文章给大家谈谈mimejava,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中要将application/x-www-from-urlencode mime字符转为普通字符,使用哪个方法

用Java实现URLEncode的方法是引入java.net.URLEncoder包。

java.net.URLDecoder.decode(String s,String enc);

将application/x-www-form-urlencoded字符串转换成普通字符串。

java.net.URLEncoder.decode(String s,String enc);

将普通字符串转换成application/x-www-form-urlencoded字符串

URLEncoder类包含将字符串转换为application/x-www-form-urlencoded MIME 格式的静态方法。

web 设计者面临的众多难题之一便是怎样处理不同操作系统间的差异性。这些差异性能引起URL方面的问题:例如,一些操作系统允许文件名中含有空格符,有些又不允许。大多数操作系统不会认为文件名中含有符号“#”会有什么特殊含义;但是在一个URL中,符号“#”表示该文件名已经结束,后面会紧跟一个 fragment(部分)标识符。其他的特殊字符,非字母数字字符集,它们在URL或另一个操作系统上都有其特殊的含义,表述着相似的问题。为了解决这些问题,我们在URL中使用的字符就必须是一个ASCII字符集的固定字集中的元素,具体如下:

1.大写字母A-Z

2.小写字母a-z

3.数字 0-9

4.标点符 - _ . ! ~ * ' (和 ,)

诸如字符: / ? @ # ; $ + = 和 %也可以被使用,但是它们各有其特殊的用途,如果一个文件名包括了这些字符( / ? @ # ; $ + = %),这些字符和所有其他字符就应该被编码。

编码过程非常简单,任何字符只要不是ASCII码数字,字母,或者前面提到的标点符,它们都将被转换成字节形式,每个字节都写成这种形式:一个“%”后面跟着两位16进制的数值。空格是一个特殊情况,因为它们太平常了。它除了被编码成“%20”以外,还能编码为一个“+”。加号(+)本身被编码为%2B。当/ # = 和?作为名字的一部分来使用时,而不是作为URL部分之间的分隔符来使用时,它们都应该被编码。

WARNING这种策略在存在大量字符集的异构环境中效果不甚理想。例如:在U.S. Windows 系统中, é 被编码为 %E9. 在 U.S. Mac中被编码为%8E。这种不确定性的存在是现存的URI的一个明显的不足。所以在将来URI的规范当中应该通过国际资源标识符(IRIs)进行改善。

java中得到文件MIME类型的几种方法

首先说一下第一种,也是自认为最简单的一句话搞定,也不用导jar包,需要import javax.activation.MimetypesFileTypeMap;

第二种,跟第一种差不多,不过里面的内容就少了很多,好多类型都没有,需要import java.net.FileNameMap;

import java.net.URLConnection;

第三种需要导入jmimemagic.jar,需要import net.sf.jmimemagic.Magic;

import net.sf.jmimemagic.MagicMatch;

第四种需要导入mime-util.jar,需要import eu.medsea.mimeutil.MimeUtil; import java.util.Collection;

java如何通过文件描述符获取文件类型

主要以下几种方法:

这个MimetypesFileMap类会映射出一个file的Mime Type,这些Mime Type类型是在activation.jar包里面的资源文件中定义的

import javax.activation.MimetypesFileTypeMap;

import java.io.File;

class GetMimeType {

public static void main(String args[]) {

File f = new File("test.gif");

System.out.println("Mime Type of " + f.getName() + " is " +

new MimetypesFileTypeMap().getContentType(f));

// expected output :

// "Mime Type of test.gif is image/gif"

}

}

使用 java.net.URL

警告:这个方法非常慢

与上面所说的匹配后缀名类似。后缀名和mime-type的映射关系被定义在[jre_home]\lib\content-types.properties这个文件中

import java.net.*;

public class FileUtils{

public static String getMimeType(String fileUrl)

throws java.io.IOException, MalformedURLException

{

String type = null;

URL u = new URL(fileUrl);

URLConnection uc = null;

uc = u.openConnection();

type = uc.getContentType();

return type;

}

public static void main(String args[]) throws Exception {

System.out.println(FileUtils.getMimeType(""));

// output : text/plain

}

}

还有一种方式:就是取文件名最后一个“.”后的内容,通过人来判断如

String fileName = "aaa.txt";

String fileType =“txt”//通过方法取出方法类型为

String type = "";

if( fileTyep.equals("txt")){

type = "记事本";

}else if(fileTyep.equals("img")){

type = "img图片";

}

Java的核心技术有哪些?

java学习中的13个核心技术分享给你

1. JDBC(Java Database Connectivity):

JDBC API为访问不同的数据库提供了一种统一的途径象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外JDCB对数据库的访问也具有平台无关性。

2. JNDI(Java Name and Directory Interface):

JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统或应用服务器中的对象。

3. EJB(Enterprise JavaBean):

J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。

4. RMI(Remote Method Invoke):

正如其名字所表示的那样,RMI协议调用远程对象上方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。

5. Java IDL/CORBA:

在Java IDL的支持下开发人员可以将Java和CORBA集成在一起。他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。后一种方法提供了另外一种途径通过它Java可以被用于将你的新的应用和旧的系统相集成。

6. JSP(Java Server Pages):

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端所请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

7. Java Servlet:

Servlet是一种小型的Java程序,它扩展了Web服务器的功能。作为一种服务器端的应用,当被请求时开始执行,这和CGI Perl脚本很相似。Servlet提供的功能大多与JSP类似,不过实现的方式不同。JSP通常是大多数HTML代码中嵌入少量的Java代码,而servlets全部由Java写成并且生成HTML。

8. XML(Extensible Markup Language):

XML是一种可以用来定义其它标记语言的语言。它被用来在不同的商务过程中共享数据。

XML的发展和Java是相互独立的,但是它和Java具有的相同目标正是平台独立性。通过将Java和XML的组合,您可以得到一个完美的具有平台独立性的解决方案。

9. JMS(Java Message Service):

MS是用于和面向消息的中间件相互通信的应用程序接口(API)。它既支持点对点的域,有支持发布/订阅(publish/subscribe)类型的域,并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。JMS还提供了另一种方式来对您的应用与旧的后台系统相集成。

10. JTA(Java Transaction Architecture):

JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。

11. JTS(Java Transaction Service):

JTS是CORBA OTS事务监控的基本的实现。JTS规定了事务管理器的实现方式。该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。JTS事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管理器提供了事务服务。

12. JavaMail:

JavaMail是用于存取邮件服务器的API,它提供了一套邮件服务器的抽象类。不仅支持SMTP服务器,也支持IMAP服务器。

13. JAF(JavaBeans Activation Framework):

JavaMail利用JAF来处理MIME编码的邮件附件。MIME的字节流可以被转换成Java对象或者转换自Java对象。大多数应用都可以不需要直接使用JAF。

java 发送邮件 需要哪些jar包

使用JavaMail发送邮件需要用到mail.jar和activtion.jar两个包。

该类实现了较完整的邮件发送功能,包括以HTML格式发送,添加附件和抄送人。下面是具体的代码:

package cn.cgw.util.mail;  

  

import java.util.Properties;  

  

import javax.activation.DataHandler;  

import javax.activation.FileDataSource;  

import javax.mail.Address;  

import javax.mail.BodyPart;  

import javax.mail.Message;  

import javax.mail.Multipart;  

import javax.mail.Session;  

import javax.mail.Transport;  

import javax.mail.internet.InternetAddress;  

import javax.mail.internet.MimeBodyPart;  

import javax.mail.internet.MimeMessage;  

import javax.mail.internet.MimeMultipart;  

  

  

public class Mail {   

  

    private MimeMessage mimeMsg; //MIME邮件对象   

    private Session session; //邮件会话对象   

    private Properties props; //系统属性   

    private boolean needAuth = false; //smtp是否需要认证   

    //smtp认证用户名和密码   

    private String username;   

    private String password;   

    private Multipart mp; //Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象   

       

    /** 

     * Constructor 

     * @param smtp 邮件发送服务器 

     */  

    public Mail(String smtp){   

        setSmtpHost(smtp);   

        createMimeMessage();   

    }   

  

    /** 

     * 设置邮件发送服务器 

     * @param hostName String  

     */  

    public void setSmtpHost(String hostName) {   

        System.out.println("设置系统属性:mail.smtp.host = "+hostName);   

        if(props == null)  

            props = System.getProperties(); //获得系统属性对象    

        props.put("mail.smtp.host",hostName); //设置SMTP主机   

    }   

  

  

    /** 

     * 创建MIME邮件对象   

     * @return 

     */  

    public boolean createMimeMessage()   

    {   

        try {   

            System.out.println("准备获取邮件会话对象!");   

            session = Session.getDefaultInstance(props,null); //获得邮件会话对象   

        }   

        catch(Exception e){   

            System.err.println("获取邮件会话对象时发生错误!"+e);   

            return false;   

        }   

      

        System.out.println("准备创建MIME邮件对象!");   

        try {   

            mimeMsg = new MimeMessage(session); //创建MIME邮件对象   

            mp = new MimeMultipart();   

          

            return true;   

        } catch(Exception e){   

            System.err.println("创建MIME邮件对象失败!"+e);   

            return false;   

        }   

    }     

      

    /** 

     * 设置SMTP是否需要验证 

     * @param need 

     */  

    public void setNeedAuth(boolean need) {   

        System.out.println("设置smtp身份认证:mail.smtp.auth = "+need);   

        if(props == null) props = System.getProperties();   

        if(need){   

            props.put("mail.smtp.auth","true");   

        }else{   

            props.put("mail.smtp.auth","false");   

        }   

    }   

  

    /** 

     * 设置用户名和密码 

     * @param name 

     * @param pass 

     */  

    public void setNamePass(String name,String pass) {   

        username = name;   

        password = pass;   

    }   

  

    /** 

     * 设置邮件主题 

     * @param mailSubject 

     * @return 

     */  

    public boolean setSubject(String mailSubject) {   

        System.out.println("设置邮件主题!");   

        try{   

            mimeMsg.setSubject(mailSubject);   

            return true;   

        }   

        catch(Exception e) {   

            System.err.println("设置邮件主题发生错误!");   

            return false;   

        }   

    }  

      

    /**  

     * 设置邮件正文 

     * @param mailBody String  

     */   

    public boolean setBody(String mailBody) {   

        try{   

            BodyPart bp = new MimeBodyPart();   

            bp.setContent(""+mailBody,"text/html;charset=GBK");   

            mp.addBodyPart(bp);   

          

            return true;   

        } catch(Exception e){   

        System.err.println("设置邮件正文时发生错误!"+e);   

        return false;   

        }   

    }   

    /**  

     * 添加附件 

     * @param filename String  

     */   

    public boolean addFileAffix(String filename) {   

      

        System.out.println("增加邮件附件:"+filename);   

        try{   

            BodyPart bp = new MimeBodyPart();   

            FileDataSource fileds = new FileDataSource(filename);   

            bp.setDataHandler(new DataHandler(fileds));   

            bp.setFileName(fileds.getName());   

              

            mp.addBodyPart(bp);   

              

            return true;   

        } catch(Exception e){   

            System.err.println("增加邮件附件:"+filename+"发生错误!"+e);   

            return false;   

        }   

    }   

      

    /**  

     * 设置发信人 

     * @param from String  

     */   

    public boolean setFrom(String from) {   

        System.out.println("设置发信人!");   

        try{   

            mimeMsg.setFrom(new InternetAddress(from)); //设置发信人   

            return true;   

        } catch(Exception e) {   

            return false;   

        }   

    }   

    /**  

     * 设置收信人 

     * @param to String  

     */   

    public boolean setTo(String to){   

        if(to == null)return false;   

        try{   

            mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));   

            return true;   

        } catch(Exception e) {   

            return false;   

        }     

    }   

      

    /**  

     * 设置抄送人 

     * @param copyto String   

     */   

    public boolean setCopyTo(String copyto)   

    {   

        if(copyto == null)return false;   

        try{   

        mimeMsg.setRecipients(Message.RecipientType.CC,(Address[])InternetAddress.parse(copyto));   

        return true;   

        }   

        catch(Exception e)   

        { return false; }   

    }   

      

    /**  

     * 发送邮件 

     */   

    public boolean sendOut()   

    {   

        try{   

            mimeMsg.setContent(mp);   

            mimeMsg.saveChanges();   

            System.out.println("正在发送邮件....");   

              

            Session mailSession = Session.getInstance(props,null);   

            Transport transport = mailSession.getTransport("smtp");   

            transport.connect((String)props.get("mail.smtp.host"),username,password);   

            transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO));   

            transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.CC));   

            //transport.send(mimeMsg);   

              

            System.out.println("发送邮件成功!");   

            transport.close();   

              

            return true;   

        } catch(Exception e) {   

            System.err.println("邮件发送失败!"+e);   

            return false;   

        }   

    }   

  

    /** 

     * 调用sendOut方法完成邮件发送 

     * @param smtp 

     * @param from 

     * @param to 

     * @param subject 

     * @param content 

     * @param username 

     * @param password 

     * @return boolean 

     */  

    public static boolean send(String smtp,String from,String to,String subject,String content,String username,String password) {  

        Mail theMail = new Mail(smtp);  

        theMail.setNeedAuth(true); //需要验证  

          

        if(!theMail.setSubject(subject)) return false;  

        if(!theMail.setBody(content)) return false;  

        if(!theMail.setTo(to)) return false;  

        if(!theMail.setFrom(from)) return false;  

        theMail.setNamePass(username,password);  

          

        if(!theMail.sendOut()) return false;  

        return true;  

    }  

      

    /** 

     * 调用sendOut方法完成邮件发送,带抄送 

     * @param smtp 

     * @param from 

     * @param to 

     * @param copyto 

     * @param subject 

     * @param content 

     * @param username 

     * @param password 

     * @return boolean 

     */  

    public static boolean sendAndCc(String smtp,String from,String to,String copyto,String subject,String content,String username,String password) {  

        Mail theMail = new Mail(smtp);  

        theMail.setNeedAuth(true); //需要验证  

          

        if(!theMail.setSubject(subject)) return false;  

        if(!theMail.setBody(content)) return false;  

        if(!theMail.setTo(to)) return false;  

        if(!theMail.setCopyTo(copyto)) return false;  

        if(!theMail.setFrom(from)) return false;  

        theMail.setNamePass(username,password);  

          

        if(!theMail.sendOut()) return false;  

        return true;  

    }  

      

    /** 

     * 调用sendOut方法完成邮件发送,带附件 

     * @param smtp 

     * @param from 

     * @param to 

     * @param subject 

     * @param content 

     * @param username 

     * @param password 

     * @param filename 附件路径 

     * @return 

     */  

    public static boolean send(String smtp,String from,String to,String subject,String content,String username,String password,String filename) {  

        Mail theMail = new Mail(smtp);  

        theMail.setNeedAuth(true); //需要验证  

          

        if(!theMail.setSubject(subject)) return false;  

        if(!theMail.setBody(content)) return false;  

        if(!theMail.addFileAffix(filename)) return false;   

        if(!theMail.setTo(to)) return false;  

        if(!theMail.setFrom(from)) return false;  

        theMail.setNamePass(username,password);  

          

        if(!theMail.sendOut()) return false;  

        return true;  

    }  

      

    /** 

     * 调用sendOut方法完成邮件发送,带附件和抄送 

     * @param smtp 

     * @param from 

     * @param to 

     * @param copyto 

     * @param subject 

     * @param content 

     * @param username 

     * @param password 

     * @param filename 

     * @return 

     */  

    public static boolean sendAndCc(String smtp,String from,String to,String copyto,String subject,String content,String username,String password,String filename) {  

        Mail theMail = new Mail(smtp);  

        theMail.setNeedAuth(true); //需要验证  

          

        if(!theMail.setSubject(subject)) return false;  

        if(!theMail.setBody(content)) return false;  

        if(!theMail.addFileAffix(filename)) return false;   

        if(!theMail.setTo(to)) return false;  

        if(!theMail.setCopyTo(copyto)) return false;  

        if(!theMail.setFrom(from)) return false;  

        theMail.setNamePass(username,password);  

          

        if(!theMail.sendOut()) return false;  

        return true;  

    }  

      

}

java开发中什么是mime类型?

是http请求返回的时候,告诉浏览器返回的数据是什么类型,MIME类型被定义在Content-Type header中,这个你要看看HTTP协议,不管是java还是.NET都一样,是传输协议支持的。这样浏览器就可以用相应的程序去解析。比如IE可以在接收到doc文档后自动用word打开。一般就是application/XXX

常见的MIME类型(通用型):

超文本标记语言文本 .html text/html

xml文档 .xml text/xml

XHTML文档 .xhtml application/xhtml+xml

普通文本 .txt text/plain

RTF文本 .rtf application/rtf

PDF文档 .pdf application/pdf

Microsoft Word文件 .word application/msword

PNG图像 .png image/png

GIF图形 .gif image/gif

JPEG图形 .jpeg,.jpg image/jpeg

au声音文件 .au audio/basic

MIDI音乐文件 mid,.midi audio/midi,audio/x-midi

RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio

MPEG文件 .mpg,.mpeg video/mpeg

AVI文件 .avi video/x-msvideo

GZIP文件 .gz application/x-gzip

TAR文件 .tar application/x-tar

任意的二进制数据 application/octet-stream

mimejava的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、mimejava的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-02,除非注明,否则均为首码项目网原创文章,转载请注明出处。