⑴ 編寫程序,將一個java文件轉換為HTML一個文件.
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassChange{
StringtextHtml="";
Stringcolor="#00688B";
//讀取文件
publicvoidReadFile(StringfilePath){
BufferedReaderbu=null;
InputStreamReaderin=null;
try{
Filefile=newFile(filePath);
if(file.isFile()&&file.exists()){
in=newInputStreamReader(newFileInputStream(file));
bu=newBufferedReader(in);
StringlineText=null;
textHtml="<html><body>";
while((lineText=bu.readLine())!=null){
lineText=changeToHtml(lineText);
lineText+="</br>";
textHtml+=lineText;
}
textHtml+="</html></body>";
}else{
System.out.println("文件不存在");
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
bu.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
//輸出文件
publicvoidwriterFile(Stringwritepath){
Filefile=newFile(writepath);
BufferedWriteroutput=null;
try{
output=newBufferedWriter(newFileWriter(file));
System.out.println(textHtml);
output.write(textHtml);
}catch(IOExceptione){
e.printStackTrace();
}finally{
try{
output.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
//文件轉換
publicStringchangeToHtml(Stringtext){
text=text.replace("&","&");
text=text.replace(""," ");
text=text.replace("<","<");
text=text.replace(">",">");
text=text.replace(""",""");
text=text.replace(""," ");
text=text.replace("public","<b><fontcolor='"+color+"'>public</font></b>");
text=text.replace("class","<b><fontcolor='"+color+"'>class</font></b>");
text=text.replace("static","<b><fontcolor='"+color+"'>static</font></b>");
text=text.replace("void","<b><fontcolor='"+color+"'>void</font></b>");
Stringt=text.replace("//","<fontcolor=green>//");
if(!text.equals(t)){
System.out.println("t:"+t);
text=t+"</font>";
}
returntext;
}
publicstaticvoidmain(String[]args){
System.out.println("第一個參數為讀取文件路徑,第二個參數為生成文件路徑");
if(args.length<1){
System.out.println("請輸入文件路徑");
return;
}elseif(args.length<2){
System.out.println("請輸入生成文件");
return;
}
Changec=newChange();
c.ReadFile(args[0]);
c.writerFile(args[1]);
}
}
傳參調用:
樓主,根據自己的實際需要,再調整下吧
⑵ 如何用java實現發送html格式的郵件
首先Java發送郵件需要用到JavaMail,先到Oracle官網上下載好最新版本的JavaMail(剛才看了一下,最新是1.5.3),把下載的這個jar文件放到classpath里(如果是Web項目,就放到WEB-INF/lib目錄下。
JavaMail主要支持發送純文本的和html格式的郵件。
發送html格式的郵件的一個常式如下:
importjavax.mail.internet.InternetAddress;
importjavax.mail.internet.MimeMessage;
importjavax.mail.internet.MimeUtility;
importjavax.mail.Session;
importjavax.mail.MessagingException;
importjavax.mail.Transport;
publicclassSendHtmlMail{
publicstaticvoidsendMessage(StringsmtpHost,
Stringfrom,Stringto,
Stringsubject,StringmessageText)
throwsMessagingException,java.io.UnsupportedEncodingException{
//Step1:Configurethemailsession
System.out.println("Configuringmailsessionfor:"+smtpHost);
java.util.Propertiesprops=newjava.util.Properties();
props.setProperty("mail.smtp.auth","true");//指定是否需要SMTP驗證
props.setProperty("mail.smtp.host",smtpHost);//指定SMTP伺服器
props.put("mail.transport.protocol","smtp");
SessionmailSession=Session.getDefaultInstance(props);
mailSession.setDebug(true);//是否在控制台顯示debug信息
//Step2:Constructthemessage
System.out.println("Constructingmessage-from="+from+"to="+to);
InternetAddressfromAddress=newInternetAddress(from);
InternetAddresstoAddress=newInternetAddress(to);
MimeMessagetestMessage=newMimeMessage(mailSession);
testMessage.setFrom(fromAddress);
testMessage.addRecipient(javax.mail.Message.RecipientType.TO,toAddress);
testMessage.setSentDate(newjava.util.Date());
testMessage.setSubject(MimeUtility.encodeText(subject,"gb2312","B"));
testMessage.setContent(messageText,"text/html;charset=gb2312");
System.out.println("Messageconstructed");
//Step3:Nowsendthemessage
Transporttransport=mailSession.getTransport("smtp");
transport.connect(smtpHost,"webmaster","password");
transport.sendMessage(testMessage,testMessage.getAllRecipients());
transport.close();
System.out.println("Messagesent!");
}
publicstaticvoidmain(String[]args){
StringsmtpHost="localhost";
Stringfrom="[email protected]";
Stringto="[email protected]";
Stringsubject="html郵件測試";//subjectjavamail自動轉碼
StringBuffertheMessage=newStringBuffer();
theMessage.append("<h2><fontcolor=red>這倒霉孩子</font></h2>");
theMessage.append("<hr>");
theMessage.append("<i>年年失望年年望</i>");
try{
SendHtmlMail.sendMessage(smtpHost,from,to,subject,theMessage.toString());
}
catch(javax.mail.MessagingExceptionexc){
exc.printStackTrace();
}
catch(java.io.){
exc.printStackTrace();
}
}
}
JavaMail是封裝了很多郵件操作的,所以使用起來不很困難,建議你到JavaMail官網看一下API或下載Java Doc API文檔。
⑶ java web應用中,怎樣壓縮響應的html文件&n
Java Web總結(一)
一、Servlet在應用中的作用
①Servlet是Java Web中MVC模式中的C部分,即控制部分,下面展示一下其所處的位置和整個客戶端(瀏覽器)和伺服器端的交互過程。(如圖1)
Web總結(一)" TITLE="Java Web總結(一)" />
圖1
②由圖1可以看到瀏覽器通過請求將其數據提交到Servlet中,然後Servlet進行控制,即Servlet充當調度員的角色,其作用主要集中在三個方面:接收數據、調用業務邏輯、對客戶端做出簡單的響應。
③然後Servlet將要繼續處理的數據提交給JavaBean,然後JavaBean進行驗證,然後如果涉及到資料庫的操作,就會繼續用到DAO(數據訪問模型),然後調用資料庫中間件JDBC進行資料庫的相關操作,然後到資料庫中訪問數據。
二、實現整個過程
①為了實現整個過程,首先編寫一個html(JSP)前台頁面,如圖2:
Web總結(一)" TITLE="Java Web總結(一)" />
圖2
代碼如下:
<html>
<head>
<title>系統登陸</title>
</head>
<body>
<p> </p>
<p> </p>
<p> </p>
<div align="center">
<br>
<br>
<div style="margin:0 auto; width:230px;margin-top:70px;">
<form id="login" action="/JavaWeb/loginServlet" method="post">
<fieldset>
<legend>用戶登陸</legend><br/>
<div>用戶:
<input name="username" id="username"/>
</div>
<br/>
<div>密碼:
<input name="password" id="pwd"/>
</div>
<br/>
</fieldset>
<div style="text-align: center;margin: 20px;">
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</div>
</form>
</div>
</div>
</body>
</html>
②由上面的代碼可以看到將<form>中的內容提交到/JavaWeb/loginServlet這個Servlet,這里涉及到了配置web.xml配置文件,只需要在配置文件中加入如下的部分:
<servlet>
<servlet-name>loginServlet</servlet-name>
<servlet-class>cn.e.nwsuaf.cie.group4.servlet.LoginServlet</servlet-class>
<load-on-startup>0</load-on-startup>//在開啟服務時,就調用init方法
</servlet>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
③Servlet中的代碼如下所示
package cn.e.nwsuaf.cie.group4.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.e.nwsuaf.cie.group4.service.LoginService;
public class LoginServlet extends HttpServlet{
private String userName;
private String password;
@Override
public void init() throws ServletException {
// TODO Auto-generated method stub
System.out.println("init....");
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
userName = req.getParameter("username");
password = req.getParameter("password");
LoginService loginService = new LoginService();
boolean flag = loginService.validate(userName,password);
if (flag){
req.getRequestDispatcher("index.jsp").forward(req, resp);
}else{
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
}
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("destroy...");
}
}
然後對上面的代碼中的一部分進行解釋。這個類繼承了HttpServlet,然後並對其中的init()、destroy()、service()方法進行重寫,其中Servlet是單例的(設計模式中的singleton model),因為所有的客戶端自伺服器開啟並對servlet進行初始化以後,所有的客戶端都是調用這里邊的同一個對象,直到調用destroy方法銷毀之。
⑷ 求教:在JAVA語句中插入一個HTML語句該怎麼格式呢
直接輸出,對應好。
out.println("增加成功");
out.println("<核畝HTML>");
out.println(" <HEAD><TITLE>成功</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" <a href='../沖旁login.jsp'>返回 ");
out.println("</a>改判森");
out.println(" </BODY>");
out.println("</HTML>");
⑸ java怎麼把HTML界面做成pdf格式列印
public boolean convertHtmlToPdf(String inputFile, String outputFile)
throws Exception {
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
String url = new File(inputFile).toURI().toURL().toString();
renderer.setDocument(url);
// 解決中文支持問題
ITextFontResolver fontResolver = renderer.getFontResolver();
fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//解決圖片的相對路徑問題
renderer.getSharedContext().setBaseURL("file:/D:/");
renderer.layout();
renderer.createPDF(os);
os.flush();
os.close();
return true;
}
上面這段代碼是這樣的,輸入一個HTML地址URL = inputFile,輸入一個要輸出的地址,就可以在輸出的PDF地址中生成這個PDF。