版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、java修改文件名import java.io.*; public class test1 public static void main(String args) File file=new File(D:/gai.jpg); /指定文件名及路徑String name=123; String filename=file.getAbsolutePath(); if(filename.indexOf(.)=0) filename = filename.substring(0,filename.lastIndexOf(.); file.renameTo(new File(name+.jpg); /
2、改名 1.創(chuàng)建文件夾 /importjava.io.*; FilemyFolderPath=newFile(%1); try if(!myFolderPath.exists() myFolderPath.mkdir(); catch(Exceptione) System.out.println(新建目錄操作出錯); e.printStackTrace(); 2.創(chuàng)建文件 /importjava.io.*; FilemyFilePath=newFile(%1); try if(!myFilePath.exists() myFilePath.createNewFile(); FileWriterr
3、esultFile=newFileWriter(myFilePath); PrintWritermyFile=newPrintWriter(resultFile); myFile.println(%2); myFile.flush(); resultFile.close(); catch(Exceptione) System.out.println(新建文件操作出錯); e.printStackTrace(); 3.刪除文件 /importjava.io.*; FilemyDelFile=newFile(%1); try myDelFile.delete(); catch(Exceptione
4、) System.out.println(刪除文件操作出錯); e.printStackTrace(); 4.刪除文件夾 /* importjava.io.*; importjava.util.*; */ LinkedListfolderList=newLinkedList(); folderList.add(%1); while(folderList.size()0) Filefile=newFile(folderList.poll(); Filefiles=file.listFiles(); ArrayListfileList=newArrayList(); for(inti=0;ifil
5、es.length;i+) if(filesi.isDirectory() folderList.add(filesi.getPath(); else fileList.add(filesi); for(Filef:fileList) f.delete(); folderList=newLinkedList(); folderList.add(%1); while(folderList.size()0) Filefile=newFile(folderList.getLast(); if(file.delete() folderList.removeLast(); else Filefiles=
6、file.listFiles(); for(inti=0;ifiles.length;i+) folderList.add(filesi.getPath(); 5.刪除一個文件下夾所有的文件夾 /* importjava.io.*; privatestaticLinkedListfolderList=null; */ Filedelfile=newFile(%1); Filefiles=delfile.listFiles(); for(inti=0;ifiles.length;i+) if(filesi.isDirectory() if(!filesi.delete() folderList=
7、newLinkedList(); folderList.add(filesi); while(folderList.size()0) 2009-10-23 21:56 HYPERLINK /f?kz=659116019 l sub#sub 回復(fù) HYPERLINK /f?kz=659116019 l # 2樓Filefile=newFile(folderList.poll(); Filefiles=file.listFiles(); ArrayListfileList=newArrayList(); for(inti=0;ifiles.length;i+) if(filesi.isDirect
8、ory() folderList.add(filesi.getPath(); else fileList.add(filesi); for(Filef:fileList) f.delete(); folderList=newLinkedList(); folderList.add(filesi); while(folderList.size()0) Filefile=newFile(folderList.getLast(); if(file.delete() folderList.removeLast(); else Filefiles=file.listFiles(); for(inti=0
9、;ifiles.length;i+) folderList.add(filesi.getPath(); 6.清空文件夾 /importjava.io.*; Filedelfilefolder=newFile(%1); try if(!delfilefolder.exists()&!delfilefolder.delete() LinkedListfolderList=newLinkedList(); folderList.add(delfilefolder); while(folderList.size()0) Filefile=newFile(folderList.poll(); Filef
10、iles=file.listFiles(); ArrayListfileList=newArrayList(); for(inti=0;ifiles.length;i+) if(filesi.isDirectory() folderList.add(filesi.getPath(); else fileList.add(filesi); for(Filef:fileList) f.delete(); folderList=newLinkedList(); folderList.add(delfilefolder); while(folderList.size()0) Filefile=newF
11、ile(folderList.getLast(); if(file.delete() folderList.removeLast(); else Filefiles=file.listFiles(); for(inti=0;ifiles.length;i+) folderList.add(filesi.getPath(); delfilefolder.mkdir(); catch(Exceptione) System.out.println(清空目錄操作出錯); e.printStackTrace(); 7.讀取文件 /importjava.io.*; /逐行讀取數(shù)據(jù) FileReaderfr
12、=newFileReader(%1); BufferedReaderbr=newBufferedReader(fr); String%2=br.readLine(); while(%2!=null) %3 %2=br.readLine(); br.close(); fr.close(); 2009-10-23 21:56 HYPERLINK /f?kz=659116019 l sub#sub 回復(fù) HYPERLINK /i/34020382?st_mod=pb&fr=tb0_forum&st_type=uname t _blank 無尾獸零號機 HYPERLINK /i/34020382/fa
13、ns?st_mod=pb&fr=tb0_forum&st_type=fans t _blank 4位粉絲 HYPERLINK /f?kz=659116019 l # 3樓9.寫入隨機文件 /importjava.io.*; try RandomAcessFilelogFile=newRandomAcessFile(%1,rw); longlg=logFile.length(); logFile.seek(%2); logFile.writeByte(%3); catch(IOExceptionioe) System.out.println(無法寫入文件:+ioe.getMessage(); 1
14、0.讀取文件屬性 /importjava.io.*; /文件屬性的取得 Fileaf=newFile(%1); if(af.exists() System.out.println(f.getName()+的屬性如下:文件長度為:+f.length(); System.out.println(f.isFile()?是文件:不是文件); System.out.println(f.isDirectory()?是目錄:不是目錄); System.out.println(f.canRead()?可讀取:不); System.out.println(f.canWrite()?是隱藏文件:); System
15、.out.println(文件夾的最后修改日期為:+newDate(f.lastModified(); else System.out.println(f.getName()+的屬性如下:); System.out.println(f.isFile()?是文件:不是文件); System.out.println(f.isDirectory()?是目錄:不是目錄); System.out.println(f.canRead()?可讀取:不); System.out.println(f.canWrite()?是隱藏文件:); System.out.println(文件的最后修改日期為:+newDa
16、te(f.lastModified(); if(f.canRead() %2 if(f.canWrite() %3 11.寫入屬性 /importjava.io.*; Filefilereadonly=newFile(%1); try booleanb=filereadonly.setReadOnly(); catch(Exceptione) System.out.println(拒絕寫訪問:+e.printStackTrace(); 2009-10-24 15:19 HYPERLINK /f?kz=659116019 l sub#sub 回復(fù) HYPERLINK /i/34020382?st
17、_mod=pb&fr=tb0_forum&st_type=uname t _blank 無尾獸零號機 HYPERLINK /i/34020382/fans?st_mod=pb&fr=tb0_forum&st_type=fans t _blank 4位粉絲 HYPERLINK /f?kz=659116019 l # 4樓8.寫入文件 /importjava.io.*; /將數(shù)據(jù)寫入文件 try FileWriterfw=newFileWriter(%1); fw.write(%2); fw.flush(); fw.close(); catch(IOExceptione) e.printStack
18、Trace(); 2009-10-24 15:19 HYPERLINK /f?kz=659116019 l sub#sub 回復(fù) HYPERLINK /i/34020382?st_mod=pb&fr=tb0_forum&st_type=uname t _blank 無尾獸零號機 HYPERLINK /i/34020382/fans?st_mod=pb&fr=tb0_forum&st_type=fans t _blank 4位粉絲 HYPERLINK /f?kz=659116019 l # 5樓12.枚舉一個文件夾中的所有文件 /* importjava.io.*; importjava.uti
19、l.*; */ LinkedListfolderList=newLinkedList(); folderList.add(%1); while(folderList.size()0) Filefile=newFile(folderList.poll(); Filefiles=file.listFiles(); ListfileList=newArrayList(); for(inti=0;ifiles.length;i+) if(filesi.isDirectory() folderList.add(filesi.getPath(); else fileList.add(filesi); fo
20、r(Filef:fileList) %2=f.getAbsoluteFile(); %3 13.復(fù)制文件夾 /* importjava.io.*; importjava.util.*; */ LinkedListfolderList=newLinkedList(); folderList.add(%1); LinkedListfolderList2=newLinkedList(); folderList2.add(%2+%1.substring(%1.lastIndexOf(); while(folderList.size()0) (newFile(folderList2.peek().mkd
21、irs();/如果文件夾不存在則建立新文件夾 Filefolders=newFile(folderList.peek(); Stringfile=folders.list(); Filetemp=null; try for(inti=0;ifile.length;i+) if(folderList.peek().endsWith(File.separator) temp=newFile(folderList.peek()+File.separator +filei); else temp=newFile(folderList.peek()+File.separator +filei); if(
22、temp.isFile() FileInputStreaminput=newFileInputStream(temp); FileOutputStreamoutput=newFileOutputStream( folderList2.peek()+File.separator +(temp.getName().toString(); byteb=newbyte5120; intlen; while(len=input.read(b)!=-1) output.write(b,0,len); output.flush(); output.close(); input.close(); if(tem
23、p.isDirectory()/如果是子文件夾 for(Filef:temp.listFiles() if(f.isDirectory() folderList.add(f.getPath(); folderList2.add(folderList2.peek() +File.separator+f.getName(); catch(Exceptione) /System.out.println(復(fù)制整個文件夾內(nèi)容操作出錯); e.printStackTrace(); folderList.removeFirst(); folderList2.removeFirst(); 2009-10-24
24、 15:19 HYPERLINK /f?kz=659116019 l sub#sub 回復(fù) HYPERLINK /i/34020382?st_mod=pb&fr=tb0_forum&st_type=uname t _blank 無尾獸零號機 HYPERLINK /i/34020382/fans?st_mod=pb&fr=tb0_forum&st_type=fans t _blank 4位粉絲 HYPERLINK /f?kz=659116019 l # 6樓14.復(fù)制一個目錄下所有的文件夾到另一個文件夾下 /* importjava.io.*; importjava.util.*; */ Fil
25、ecopyfolders=newFile(%1); FilecopyfoldersList=copyfolders.listFiles(); for(intk=0;kcopyfoldersList.length;k+) if(copyfoldersListk.isDirectory() ListfolderList=newArrayList(); folderList.add(copyfoldersListk.getPath(); ListfolderList2=newArrayList(); folderList2.add(%2+/+copyfoldersListk.getName(); f
26、or(intj=0;jfolderList.size();j+) (newFile(folderList2.get(j).mkdirs();/如果文件夾不存在則建立新文件夾 Filefolders=newFile(folderList.get(j); Stringfile=folders.list(); Filetemp=null; try for(inti=0;ifile.length;i+) if(folderList.get(j).endsWith(File.separator) temp=newFile(folderList.get(j)+File.separator+filei);
27、else temp=newFile(folderList.get(j)+File.separator+filei); FileInputStreaminput=newFileInputStream(temp); if(temp.isFile() FileOutputStreamoutput=newFileOutputStream(folderList2.get(j)+File.separator+ (temp.getName().toString(); byteb=newbyte5120; intlen; while(len=input.read(b)!=-1) output.write(b,
28、0,len); output.flush(); output.close(); input.close(); if(temp.isDirectory()/如果是子文件夾 folderList.add(folderList.get(j)+/+filei); folderList2.add(folderList2.get(j)+/+filei); catch(Exceptione) System.out.println(復(fù)制整個文件夾內(nèi)容操作出錯); e.printStackTrace(); 2009-10-24 15:20 HYPERLINK /f?kz=659116019 l sub#sub
29、回復(fù) HYPERLINK /i/34020382?st_mod=pb&fr=tb0_forum&st_type=uname t _blank 無尾獸零號機 HYPERLINK /i/34020382/fans?st_mod=pb&fr=tb0_forum&st_type=fans t _blank 4位粉絲 HYPERLINK /f?kz=659116019 l # 7樓43.ZIP壓縮文件夾 /* importjava.io.*; importjava.util.*; importjava.util.zip.*; */ publicstaticStringzipFileProcess(Arr
30、ayListoutputZipFileNameList,StringoutputZipNameAndPath) ArrayListfileNames=newArrayList(); ArrayListfiles=newArrayList(); FileOutputStreamfileOut=null; ZipOutputStreamoutputStream=null; FileInputStreamfileIn=null; StringBuffersb=newStringBuffer(outputZipNameAndPath); /FileInputStreamfileIn=null; try
31、 if(outputZipNameAndPath.indexOf(.zip)!=-1) outputZipNameAndPath=outputZipNameAndPath; else sb.append(.zip); outputZipNameAndPath=sb.toString(); fileOut=newFileOutputStream(outputZipNameAndPath); outputStream=newZipOutputStream(fileOut); intoutputZipFileNameListSize=0; if(outputZipFileNameList!=null
32、) outputZipFileNameListSize=outputZipFileNameList.size(); for(inti=0;ioutputZipFileNameListSize;i+) FilerootFile=newFile(outputZipFileNameList.get(i).toString(); listFile(rootFile,fileNames,files,); for(intloop=0;loopfiles.size();loop+) fileIn=newFileInputStream(File)files.get(loop); outputStream.pu
33、tNextEntry(newZipEntry(String)fileNames.get(loop); bytebuffer=newbyte1024; while(fileIn.read(buffer)!=-1) outputStream.write(buffer); outputStream.closeEntry(); fileIn.close(); returnoutputZipNameAndPath; catch(IOExceptionioe) returnnull; finally if(outputStream!=null) try outputStream.close(); catc
34、h(IOExceptione) if(fileIn!=null) try fileIn.close(); catch(IOExceptione) privatestaticvoidlistFile(FileparentFile,ListnameList,ListfileList,StringdirectoryName) if(parentFile.isDirectory() Filefiles=parentFile.listFiles(); for(intloop=0;loopfiles.length;loop+) listFile(filesloop,nameList,fileList,di
35、rectoryName+parentFile.getName()+/); else fileList.add(parentFile); nameList.add(directoryName+parentFile.getName(); ArrayListoutputZipFileName=newArrayList(); StringsavePath=; intargSize=0; savePath=%1; outputZipFileName.add(%2); ZipFileOtherinstance=newZipFileOther(); instance.zipFileProcess(outpu
36、tZipFileName,savePath);importjava.io.*;publicclassFileOperatepublicFileOperate()/*新建目錄*paramfolderPathString如c:/fqf*returnboolean*/publicvoidnewFolder(StringfolderPath)tryStringfilePath=folderPath;filePath=filePath.toString();java.io.FilemyFilePath=newjava.io.File(filePath);if(!myFilePath.exists()my
37、FilePath.mkdir();catch(Exceptione)System.out.println(新建目錄操作出錯);e.printStackTrace();/*新建文件*paramfilePathAndNameString文件路徑及名稱如c:/fqf.txt*paramfileContentString文件內(nèi)容*returnboolean*/publicvoidnewFile(StringfilePathAndName,StringfileContent)tryStringfilePath=filePathAndName;filePath=filePath.toString();Fi
38、lemyFilePath=newFile(filePath);if(!myFilePath.exists()myFilePath.createNewFile();FileWriterresultFile=newFileWriter(myFilePath);PrintWritermyFile=newPrintWriter(resultFile);StringstrContent=fileContent;myFile.println(strContent);resultFile.close();catch(Exceptione)System.out.println(新建目錄操作出錯);e.prin
39、tStackTrace();/*刪除文件*paramfilePathAndNameString文件路徑及名稱如c:/fqf.txt*paramfileContentString*returnboolean*/publicvoiddelFile(StringfilePathAndName)tryStringfilePath=filePathAndName;filePath=filePath.toString();java.io.FilemyDelFile=newjava.io.File(filePath);myDelFile.delete();catch(Exceptione)System.ou
40、t.println(刪除文件操作出錯);e.printStackTrace();/*刪除文件夾*paramfilePathAndNameString文件夾路徑及名稱如c:/fqf*paramfileContentString*returnboolean*/publicvoiddelFolder(StringfolderPath)trydelAllFile(folderPath);/刪除完里面所有內(nèi)容StringfilePath=folderPath;filePath=filePath.toString();java.io.FilemyFilePath=newjava.io.File(fileP
41、ath);myFilePath.delete();/刪除空文件夾catch(Exceptione)System.out.println(刪除文件夾操作出錯);e.printStackTrace();/*刪除文件夾里面的所有文件*parampathString文件夾路徑如c:/fqf*/publicvoiddelAllFile(Stringpath)Filefile=newFile(path);if(!file.exists()return;if(!file.isDirectory()return;StringtempList=file.list();Filetemp=null;for(inti
42、=0;itempList.length;i+)if(path.endsWith(File.separator)temp=newFile(path+tempListi);elsetemp=newFile(path+File.separator+tempListi);if(temp.isFile()temp.delete();if(temp.isDirectory()delAllFile(path+/+tempListi);/先刪除文件夾里面的文件delFolder(path+/+tempListi);/再刪除空文件夾/*復(fù)制單個文件*paramoldPathString原文件路徑如:c:/fqf
43、.txt*paramnewPathString復(fù)制后路徑如:f:/fqf.txt*returnboolean*/publicvoidcopyFile(StringoldPath,StringnewPath)tryintbytesum=0;intbyteread=0;Fileoldfile=newFile(oldPath);if(oldfile.exists()/文件存在時InputStreaminStream=newFileInputStream(oldPath);/讀入原文件FileOutputStreamfs=newFileOutputStream(newPath);bytebuffer=
44、newbyte1444;intlength;while(byteread=inStream.read(buffer)!=-1)bytesum+=byteread;/字節(jié)數(shù)文件大小System.out.println(bytesum);fs.write(buffer,0,byteread);inStream.close();catch(Exceptione)System.out.println(復(fù)制單個文件操作出錯);e.printStackTrace();/*復(fù)制整個文件夾內(nèi)容*paramoldPathString原文件路徑如:c:/fqf*paramnewPathString復(fù)制后路徑如:f
45、:/fqf/ff*returnboolean*/publicvoidcopyFolder(StringoldPath,StringnewPath)try(newFile(newPath).mkdirs();/如果文件夾不存在則建立新文件夾Filea=newFile(oldPath);Stringfile=a.list();Filetemp=null;for(inti=0;ifile.length;i+)if(oldPath.endsWith(File.separator)temp=newFile(oldPath+filei);elsetemp=newFile(oldPath+File.sepa
46、rator+filei);if(temp.isFile()FileInputStreaminput=newFileInputStream(temp);FileOutputStreamoutput=newFileOutputStream(newPath+/+(temp.getName().toString();byteb=newbyte1024*5;intlen;while(len=input.read(b)!=-1)output.write(b,0,len);output.flush();output.close();input.close();if(temp.isDirectory()/如果
47、是子文件夾copyFolder(oldPath+/+filei,newPath+/+filei);catch(Exceptione)System.out.println(復(fù)制整個文件夾內(nèi)容操作出錯);e.printStackTrace();/*移動文件到指定目錄*paramoldPathString如:c:/fqf.txt*paramnewPathString如:d:/fqf.txt*/publicvoidmoveFile(StringoldPath,StringnewPath)copyFile(oldPath,newPath);delFile(oldPath);/*移動文件到指定目錄*par
48、amoldPathString如:c:/fqf.txt*paramnewPathString如:d:/fqf.txt*/publicvoidmoveFolder(StringoldPath,StringnewPath)copyFolder(oldPath,newPath);delFolder(oldPath);附錄資料:java處理高并發(fā)高負載類網(wǎng)站的優(yōu)化方法java處理高并發(fā)高負載類網(wǎng)站中數(shù)據(jù)庫的設(shè)計方法(java教程,java處理大量數(shù)據(jù),java高負載數(shù)據(jù))一:高并發(fā)高負載類網(wǎng)站關(guān)注點之數(shù)據(jù)庫沒錯,首先是數(shù)據(jù)庫,這是大多數(shù)應(yīng)用所面臨的首個SPOF。尤其是Web2.0的應(yīng)用,數(shù)據(jù)庫的響應(yīng)是
49、首先要解決的。一般來說MySQL是最常用的,可能最初是一個mysql主機,當數(shù)據(jù)增加到100萬以上,那么,MySQL的效能急劇下降。常用的優(yōu)化措施是M-S(主-從)方式進行同步復(fù)制,將查詢和操作和分別在不同的服務(wù)器上進行操作。我推薦的是M-M-Slaves方式,2個主Mysql,多個Slaves,需要注意的是,雖然有2個Master,但是同時只有1個是Active,我們可以在一定時候切換。之所以用2個M,是保證M不會又成為系統(tǒng)的SPOF。Slaves可以進一步負載均衡,可以結(jié)合LVS,從而將select操作適當?shù)钠胶獾讲煌膕laves上。以上架構(gòu)可以抗衡到一定量的負載,但是隨著用戶進一步增加
50、,你的用戶表數(shù)據(jù)超過1千萬,這時那個M變成了SPOF。你不能任意擴充Slaves,否則復(fù)制同步的開銷將直線上升,怎么辦?我的方法是表分區(qū),從業(yè)務(wù)層面上進行分區(qū)。最簡單的,以用戶數(shù)據(jù)為例。根據(jù)一定的切分方式,比如id,切分到不同的數(shù)據(jù)庫集群去。全局數(shù)據(jù)庫用于meta數(shù)據(jù)的查詢。缺點是每次查詢,會增加一次,比如你要查一個用戶nightsailer,你首先要到全局數(shù)據(jù)庫群找到nightsailer對應(yīng)的cluster id,然后再到指定的cluster找到nightsailer的實際數(shù)據(jù)。每個cluster可以用m-m方式,或者m-m-slaves方式。這是一個可以擴展的結(jié)構(gòu),隨著負載的增加,你可以
51、簡單的增加新的mysql cluster進去。需要注意的是:1、禁用全部auto_increment的字段2、id需要采用通用的算法集中分配3、要具有比較好的方法來監(jiān)控mysql主機的負載和服務(wù)的運行狀態(tài)。如果你有30臺以上的mysql數(shù)據(jù)庫在跑就明白我的意思了。4、不要使用持久性鏈接(不要用pconnect),相反,使用sqlrelay這種第三方的數(shù)據(jù)庫鏈接池,或者干脆自己做,因為php4中mysql的鏈接池經(jīng)常出問題。二:高并發(fā)高負載網(wǎng)站的系統(tǒng)架構(gòu)之HTML靜態(tài)化其實大家都知道,效率最高、消耗最小的就是純靜態(tài)化,所以我們盡可能使我們的網(wǎng)站上的頁面采用靜態(tài)頁面來實現(xiàn),這個最簡單的方法其實也是
52、 最有效的方法。但是對于大量內(nèi)容并且頻繁更新的網(wǎng)站,我們無法全部手動去挨個實現(xiàn),于是出現(xiàn)了我們常見的信息發(fā)布系統(tǒng)CMS,像我們常訪問的各個門戶站點 的新聞頻道,甚至他們的其他頻道,都是通過信息發(fā)布系統(tǒng)來管理和實現(xiàn)的,信息發(fā)布系統(tǒng)可以實現(xiàn)最簡單的信息錄入自動生成靜態(tài)頁面,還能具備頻道管理、權(quán)限 管理、自動抓取等功能,對于一個大型網(wǎng)站來說,擁有一套高效、可管理的CMS是必不可少的。除了門戶和信息發(fā)布類型的網(wǎng)站,對于交互性要求很高的社區(qū)類型網(wǎng)站來說,盡可能的靜態(tài)化也是提高性能的必要手段,將社區(qū)內(nèi)的帖子、文章進行實時的靜態(tài)化,有更新的時候再重新靜態(tài)化也是大量使用的策略,像Mop的大雜燴就是使用了這樣的
53、策略,網(wǎng)易社區(qū)等也是如此。 同時,html靜態(tài)化也是某些緩存策略使用的手段,對于系統(tǒng)中頻繁使用數(shù)據(jù)庫查詢但是內(nèi)容更新很小的應(yīng)用,可以考慮使用html靜態(tài)化來實現(xiàn),比如論壇 中論壇的公用設(shè)置信息,這些信息目前的主流論壇都可以進行后臺管理并且存儲再數(shù)據(jù)庫中,這些信息其實大量被前臺程序調(diào)用,但是更新頻率很小,可以考慮將這 部分內(nèi)容進行后臺更新的時候進行靜態(tài)化,這樣避免了大量的數(shù)據(jù)庫訪問請求高并發(fā)。網(wǎng)站HTML靜態(tài)化解決方案當一個Servlet資源請求到達WEB服務(wù)器之后我們會填充指定的JSP頁面來響應(yīng)請求:HTTP請求Web服務(wù)器Servlet-業(yè)務(wù)邏輯處理-訪問數(shù)據(jù)-填充JSP-響應(yīng)請求HTML靜
54、態(tài)化之后:HTTP請求Web服務(wù)器Servlet-HTML-響應(yīng)請求靜態(tài)訪求如下Servlet:public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException if(request.getParameter(chapterId) != null) String chapterFileName = bookChapterRead_+request.getParameter(chapterId)+.html; String chapter
55、FilePath = getServletContext().getRealPath(/) + chapterFileName; File chapterFile = new File(chapterFilePath); if(chapterFile.exists()response.sendRedirect(chapterFileName);return;/如果有這個文件就告訴瀏覽器轉(zhuǎn)向 INovelChapterBiz novelChapterBiz = new NovelChapterBizImpl(); NovelChapter novelChapter = novelChapterB
56、iz.searchNovelChapterById(Integer.parseInt(request.getParameter(chapterId);/章節(jié)信息 int lastPageId = novelChapterBiz.searchLastCHapterId(novelChapter.getNovelId().getId(), novelChapter.getId(); int nextPageId = novelChapterBiz.searchNextChapterId(novelChapter.getNovelId().getId(), novelChapter.getId();
57、 request.setAttribute(novelChapter, novelChapter); request.setAttribute(lastPageId, lastPageId); request.setAttribute(nextPageId, nextPageId); new CreateStaticHTMLPage().createStaticHTMLPage(request, response, getServletContext(), chapterFileName, chapterFilePath, /bookRead.jsp); 生成HTML靜態(tài)頁面的類:packag
58、e com.jb.y2t034.thefifth.web.servlet;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletContext;import javax.servlet.ServletExc
59、eption;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpServletResponseWrapper;/* 創(chuàng)建HTML靜態(tài)頁面* 功能:創(chuàng)建HTML靜態(tài)頁面* 時間:2009年1011日* 地點:home* author mavk*/public class CreateStaticHTMLPage /* * 生成
60、靜態(tài)HTML頁面的方法 * param request 請求對象 * param response 響應(yīng)對象 * param servletContext Servlet上下文 * param fileName 文件名稱 * param fileFullPath 文件完整路徑 * param jspPath 需要生成靜態(tài)文件的JSP路徑(相對即可) * throws IOException * throws ServletException */ public void createStaticHTMLPage(HttpServletRequest request, HttpServletRe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 玻璃配料計算課程設(shè)計
- 玻璃幕墻課程設(shè)計
- 玻璃器皿銷售方案
- 愛眼護眼課程設(shè)計
- 愛心企業(yè)受災(zāi)救助方案
- 濱江森林公園研究報告
- 雙道氫化物發(fā)生原子熒光光度計相關(guān)行業(yè)投資規(guī)劃報告
- 波司登課程設(shè)計
- 畢業(yè)的課程設(shè)計
- 比特幣行業(yè)研究報告
- 2019新教材人教版生物必修1教材課后習(xí)題答案
- 2024年中國白酒行業(yè)數(shù)字化轉(zhuǎn)型研究報告-36氪-202409
- 《學(xué)校主人公:3 校園廣播站》教學(xué)設(shè)計-2024-2025學(xué)年五年級上冊綜合實踐活動滬科黔科版
- 外傷急救包扎技術(shù)說課課件
- 人教版(2024新版)七年級上冊英語全冊語法知識點講義
- 全國青島版信息技術(shù)七年級下冊專題一第8課三、《高級統(tǒng)計-數(shù)據(jù)透視表》教學(xué)設(shè)計
- 內(nèi)分泌科品管圈成果匯報提高糖尿病患者健康教育知曉率
- 2024年秋季新人教版七年級數(shù)學(xué)上冊教學(xué)課件 第五章 一元一次方程 5.3實際問題與一元一次方程(第4課時)
- 清淡的晚餐(課件)六年級上冊勞動北京版
- 婦科內(nèi)分泌疾病診斷與治療考核試卷
- 城鎮(zhèn)雨污分流項目可行性研究報告
評論
0/150
提交評論