莫相离 发表于 2015-1-18 11:44:09

JAVA网页设计Java中对文件的操纵

在1995年5月23日以“Java”的名称正式发布了。Java中对文件的操纵


java中供应了io类库,能够轻松的用java完成对文件的各类操纵。上面就来讲一下怎样用java来完成这些操纵。


1。新建目次


<%@pagecontentType="text/html;charset=gb2312"%>

<%

StringfilePath="c:/aaa/";

filePath=filePath.toString();//中文转换

java.io.FilemyFilePath=newjava.io.File(filePath);

if(!myFilePath.exists())

myFilePath.mkdir();

%>


2。新建文件


<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.io.*"%>

<%

StringfilePath="c:/哈哈.txt";

filePath=filePath.toString();

FilemyFilePath=newFile(filePath);

if(!myFilePath.exists())

myFilePath.createNewFile();

FileWriterresultFile=newFileWriter(myFilePath);

PrintWritermyFile=newPrintWriter(resultFile);

StringstrContent="中文测试".toString();

myFile.println(strContent);

resultFile.close();

%>


3。删除文件


<%@pagecontentType="text/html;charset=gb2312"%>

<%

StringfilePath="c:/付出证实单.xls";

filePath=filePath.toString();

java.io.FilemyDelFile=newjava.io.File(filePath);

myDelFile.delete();

%>


4。文件拷贝


<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.io.*"%>

<%

intbytesum=0;

intbyteread=0;

file://读到流中

InputStreaminStream=newFileInputStream("c:/aaa.doc");

FileOutputStreamfs=newFileOutputStream("d:/aaa.doc");byte[]buffer=newbyte;

intlength;

while((byteread=inStream.read(buffer))!=-1)

{

out.println("<DT><B>"+byteread+"</B></DT>");

bytesum+=byteread;

System.out.println(bytesum);

fs.write(buffer,0,byteread);

}

inStream.close();

%>


5。全部文件夹拷贝


<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.io.*"%>

<%Stringurl1="C:/aaa";

Stringurl2="d:/java/";

(newFile(url2)).mkdirs();

File[]file=(newFile(url1)).listFiles();

for(inti=0;i<file.length;i++){

if(file.isFile()){

file.toString();

FileInputStreaminput=newFileInputStream(file);

FileOutputStreamoutput=newFileOutputStream(url2+"/"+(file.getName()).toString());

byte[]b=newbyte;

intlen;

while((len=input.read(b))!=-1){

output.write(b,0,len);

}

output.flush();

output.close();

input.close();

}

}

%>


6。文件下载


<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.io.*"%>

<%

StringfileName="zsc104.swf".toString();

//读到流中

InputStreaminStream=newFileInputStream("c:/zsc104.swf");

//设置输入的格局

response.reset();

response.setContentType("bin");

response.addHeader("Content-Disposition","attachment;filename=""+fileName+""");

//轮回掏出流中的数据

byte[]b=newbyte;

intlen;

while((len=inStream.read(b))>0)

response.getOutputStream().write(b,0,len);

inStream.close();

%>


7。数据库字段中的文件下载


<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.sql.*"%>

<%@pageimport="java.lang.*"%>

<%@pageimport="java.io.*"%>

<%@pageimport="com.jspsmart.upload.*"%>

<%@pageimport="DBstep.iDBManager2000.*"%>

<%

intbytesum=0;

intbyteread=0;

//翻开数据库

ResultSetresult=null;

StringSql=null;

PreparedStatementprestmt=null;

DBstep.iDBManager2000DbaObj=newDBstep.iDBManager2000();

DbaObj.OpenConnection();

//获得数据库中的数据

Sql="select*fromt_local_zhongzhuan";

result=DbaObj.ExecuteQuery(Sql);

result.next();


file://将数据库中的数据读到流中

InputStreaminStream=result.getBinaryStream("content");

FileOutputStreamfs=newFileOutputStream("c:/dffdsafd.doc");


byte[]buffer=newbyte;

intlength;

while((byteread=inStream.read(buffer))!=-1)

{

out.println("<DT><B>"+byteread+"</B></DT>");

bytesum+=byteread;

System.out.println(bytesum);

fs.write(buffer,0,byteread);

}

%>


8。把网页保留成文件


<%@pageimport="java.text.*"%>

<%@pageimport="java.util.*"%>

<%@pageimport="java.io.*"%>

<%@pageimport="java.net.*"%>

<%

URLstdURL=null;

BufferedReaderstdIn=null;

PrintWriterstdOut=null;

try{

stdURL=newURL("http://www.ckuyun.com");

}

catch(MalformedURLExceptione){

throwe;

}


try{

stdIn=newBufferedReader(newInputStreamReader(stdURL.openStream()));

stdOut=newPrintWriter(newBufferedWriter(newFileWriter("c:/163.html")));

}

catch(IOExceptione){

}


/***把URL指定的页面以流的情势读出,写成指定的文件***/

try{

StringstrHtml="";

while((strHtml=stdIn.readLine())!=null){

stdOut.println(strHtml);

}

}

catch(IOExceptione){

throwe;

}

finally{

try{

if(stdIn!=null)

stdIn.close();

if(stdOut!=null)

stdOut.close();

}

catch(Exceptione){

System.out.println(e);

}

}

%>


9。间接下载网上的文件


<%@pageimport="java.io.*"%>

<%@pageimport="java.net.*"%>

<%

intbytesum=0;

intbyteread=0;


URLurl=newURL("http://pimg.163.com/sms/micheal/logo.gif");

URLConnectionconn=url.openConnection();

InputStreaminStream=conn.getInputStream();

FileOutputStreamfs=newFileOutputStream("c:/abc.gif");


byte[]buffer=newbyte;

intlength;

while((byteread=inStream.read(buffer))!=-1)

{

out.println("<DT><B>"+byteread+"</B></DT>");

bytesum+=byteread;

System.out.println(bytesum);

fs.write(buffer,0,byteread);

}

%>



10。按行读文件

<%@pagecontentType="text/html;charset=gb2312"%>

<%@pageimport="java.io.*"%>

<%FileReadermyFileReader=newFileReader("c:/哈哈.txt");

BufferedReadermyBufferedReader=newBufferedReader(myFileReader);

StringmyString=null;

StringresultString=newString();

while((myString=myBufferedReader.readLine())!=null){resultString=resultString+myString+"<br>";}

out.println(resultString);myFileReader.close();

%>


多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。

再现理想 发表于 2015-1-21 13:29:37

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

莫相离 发表于 2015-1-26 22:43:01

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

第二个灵魂 发表于 2015-1-29 07:10:00

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

变相怪杰 发表于 2015-2-2 22:04:03

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

仓酷云 发表于 2015-2-4 13:13:40

Java是一种计算机编程语言,拥有跨平台、面向对java

金色的骷髅 发表于 2015-2-14 15:16:52

是一种将安全性(Security)列为第一优先考虑的语言

蒙在股里 发表于 2015-2-18 19:02:59

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

爱飞 发表于 2015-2-26 21:57:18

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

透明 发表于 2015-3-3 13:31:33

象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

不帅 发表于 2015-3-11 11:05:58

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

小女巫 发表于 2015-3-18 07:27:30

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

愤怒的大鸟 发表于 2015-3-23 22:48:49

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

若天明 发表于 2015-4-4 05:00:13

是一种将安全性(Security)列为第一优先考虑的语言

再见西城 发表于 2015-4-12 12:58:12

是一种为 Internet发展的计算机语言

老尸 发表于 2015-4-17 02:40:44

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

简单生活 发表于 2015-4-24 07:01:31

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

深爱那片海 发表于 2015-4-26 12:25:24

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

若相依 发表于 2015-6-18 22:35:31

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

活着的死人 发表于 2015-6-28 21:51:13

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
页: [1]
查看完整版本: JAVA网页设计Java中对文件的操纵