java中提供了io类库可以轻松的用java实现对文件的各种操作下面就来说一下如何用java来实现这些操作
新建目录
<%@pagecontentType=text/html;charset=gb%>
<%
//StringURL=requestgetRequestURI();
StringfilePath=C:\\测试\\;
filePath=filePathtoString();//中文转换
javaioFilemyFilePath=newjavaioFile(filePath);
if(!myFilePathexists())
myFilePathmkdir();
%>
新建文件
<%@pagecontentType=text/html;charset=gb%>
<%@pageimport=javaio*%>
<%
StringfilePath=c:/测试/newFiletxt;
filePath=filePathtoString();
FilemyFilePath=newFile(filePath);
if(!myFilePathexists())
myFilePathcreateNewFile();
FileWriterresultFile=newFileWriter(myFilePath);
PrintWritermyFile=newPrintWriter(resultFile);
Stringcontent=这是测试数据;
StringstrContent=contenttoString();
myFileprintln(strContent);
resultFileclose();
%>
删除文件
<%@pagecontentType=text/html;charset=gb%>
<%
StringfilePath=c://测试//newFiletxt;
filePath=filePathtoString();
javaioFilemyDelFile=newjavaioFile(filePath);
if(myDelFileexists())
{
myDelFiledelete();
outprintln(filePath+删除成功!!!);
}
else
{
outprintln(filePath+该文件不存在);
}
%>
文件拷贝<%@pagecontentType=text/html;charset=gb%>
<%@pageimport=javaio*%>
<%
intbytesum=;
intbyteread=;
//file:读到流中
InputStreaminStream=newFileInputStream(c://测试//newFiletxt);
FileOutputStreamfs=newFileOutputStream(c://测试//copyFiletxt);
byte[]buffer=newbyte[];
intlength;
while((byteread=inStreamread(buffer))!=)
{
outprintln(<DT><B>+byteread+</B></DT>);
bytesum+=byteread;
outprintln(bytesum);
fswrite(bufferbyteread);
}
inStreamclose();
%>
整个文件夹拷贝
<%@pagecontentType=text/html;charset=gb%>
<%@pageimport=javaio*%>
<%Stringurl=C:/aaa;
Stringurl=d:/java/;
(newFile(url))mkdirs();
File[]file=(newFile(url))listFiles();
for(inti=;i<filelength;i++){
if(file[i]isFile()){
file[i]toString();
FileInputStreaminput=newFileInputStream(file[i]);
FileOutputStreamoutput=newFileOutputStream(url+/+(file[i]getName())toString());
byte[]b=newbyte[*];
intlen;
while((len=inputread(b))!=){
outputwrite(blen);
}
outputflush();
outputclose();
inputclose();
}
}
%>
文件下载
<%@pagecontentType=text/html;charset=gb%>
<%@pageimport=javaio*%>
<%
StringfileName=newFiletxttoString();
//读到流中
InputStreaminStream=newFileInputStream(c://测试//newFiletxt);
//设置输出的格式
responsereset();
responsesetContentType(text/plain);
responseaddHeader(ContentDispositionattachment;filename=\+fileName+\);
//循环取出流中的数据
byte[]b=newbyte[];
intlen;
ServletOutputStreamoutStream=responsegetOutputStream();
while((len=inStreamread(b))>)
outStreamwrite(blen);
outStreamflush();
outStreamclose();
inStreamclose();
%>
数据库字段中的文件下载
<%@pagecontentType=text/html;charset=gb%>
<%@pageimport=javautil*javasql*javaio*%>
<%
Stringid=requestgetParameter(id);
if(id==null)
{thrownewException(没有找到图片);
}
else
{
try
{
comgzrealmaplibjdbcJDBCUtilSqlBean=comgzrealmaplibjdbcJDBCUtilgetInstance();
nnect();
Stringsql=select*frominnernewswhereid=++;
ResultSetrs=SqlBeanqueryforUpdate(sql);
rsnext();
//StringfileNamedb=rsgetString(imageName);
Stringfile=rsgetString(acc);
//StringfileName=newString(fileNamedbgetBytes()iso);
StringfileName=ajpg;
responsesetHeader(ContentDispositioninline;filename=\+fileName+\);
Stringfilter=fileNamesubstring(fileNamelastIndexOf());
if(filterequals(txt))
{
responsesetContentType(text/plain);
}
elseif(filterequals(doc)||filterequals(dot))
{
responsesetContentType(application/msword);
}
else
{
responsesetContentType(image/jpeg;charset=GB);
}
ServletOutputStreamo=responsegetOutputStream();
//owrite(file);
outprintln(file);
//oflush();
//oclose();
SqlBeandisconnect();
}
catch(Exceptionex)
{
outprintln(exgetMessage());
}
}
%>
把网页保存成文件
<%@pagecontentType=text/html;charset=gb%>
<%@pageimport=javatext*javautil**javaio*%>
<%
URLstdURL=null;
BufferedReaderstdIn=null;
PrintWriterstdOut=null;
try{
stdURL=newURL();
}
catch(MalformedURLExceptione){
throwe;
}
try{
//将字节流转变成为字符流
stdIn=newBufferedReader(newInputStreamReader(stdURLopenStream()));
StringtheFileName=c://测试//l;
stdOut=newPrintWriter(newBufferedWriter(newFileWriter(theFileNametoString())));
}
catch(IOExceptione){
}
/***把URL指定的页面以流的形式读出写成指定的文件***/
try{
StringstrHtml=;
while((strHtml=stdInreadLine())!=null){
stdOutprintln(strHtml);
}
}
catch(IOExceptione){
throwe;
}
finally{
try{
if(stdIn!=null)
stdInclose();
if(stdOut!=null)
stdOutclose();
}
catch(Exceptione){
Systemoutprintln(e);
}
}
%>
直接下载网上的文件
<%@pagecontentType=text/html;charset=gb%>
<%@pageimport=javaio*%>
<%@pageimport=*%>
<%
intbytesum=;
intbyteread=;
URLurl=newURL(_//gif);
byte[]buffer=newbyte[];
while((byteread=inStreamread(buffer))!=)
{
outprintln(<DT><B>+byteread+</B></DT>);
bytesum+=byteread;
//Systemoutprintln(bytesum);
fswrite(bufferbyteread);
}
%>
按行读文件
<%@pagecontentType=text/html;charset=gb%>
<%@pageimport=javaio*%>
<%
FileReadermyFileReader=newFileReader(c:/哈哈txt);
BufferedReadermyBufferedReader=newBufferedReader(myFileReader);
StringmyString=null;
StringresultString=newString();
while((myString=myBufferedReaderreadLine())!=null){
resultString=resultString+myString+<br>;
}
outprintln(resultString);
myFileReaderclose();
%>
对word文档的处理(上传与下载)
<%@pagecontentType=application/msword%>
<!以上这行设定本网页为excel格式的网页>
<%
responsesetHeader(Contentdispositioninline;filename=testdoc);//线上浏览方式
//responsesetHeader(Contentdispositionattachment;filename=testdoc);//下载方式
//以上这行设定传送到前端浏览器时的档名为testdoc
//就是靠这一行让前端浏览器以为接收到一个word档
%>
//然后输出动态内容就可以得到一个word文档了
打开
)文件头上加<%@pagecontentType=application/msword%>
xml文件里
<mimemapping>
<extension>doc</extension>
<mimetype>application/msword</mimetype>
</mimemapping>
)可以用js以下代码来自引用
<%@pagecontentType=text/html;charset=gbimport=javaio*%>
<HTML>
<script>
varwrd=newActiveXObject(WordApplication)
wrdvisible=true
alert(您的+wrdApplicationCaption+安装路径为\n+wrdApplicationPath+\n版本号是+wrdApplicationversion+\n注册使用者是+wrdApplicationUserName)
wrdDocumentsAdd()
//wrdDocumentsOpen(c:\\examdoc)
wrdSelectionTypeText(Thisissometext)
wrdApplicationActivate()
wrdActiveDocumentSaveAs(c:\\examdoc)
wrd=null
</script>
</HTML>
下载
<%@pagecontentType=text/html;charset=gbimport=javaio*%>
<%//得到文件名字和路径
Stringfilename=jspdoc;
Stringfilepath=C:\\;
//设置响应头和下载保存的文件名
responsesetContentType(APPLICATION/OCTETSTREAM);
responsesetHeader(ContentDispositionattachment;filename=\+filename+\);
//打开指定文件的流信息
javaioFileInputStreamfileInputStream=newjavaioFileInputStream(filepath+filename);
//FileOutputStreamout=newFileOutputStream(filepath+测试\\+filename);
//写出流信息
inti;
while((i=fileInputStreamread())!=){
outwrite(i);
}
fileInputStreamclose();
outclose();
%>