java

位置:IT落伍者 >> java >> 浏览文章

Java对各种文件的操作详解


发布日期:2020年06月08日
 
Java对各种文件的操作详解

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();

%>

               

上一篇:Java多线程支持如何才能解决接口问题

下一篇:Java servlet多线程