java中对文件的操作(二)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

java中对文件的操作(二)

以前写过一个java中对文件的操作(http://dev.csdn.net/develop/article/19/19064.shtm),但是不全,就把剩下的一些加到评论里边了,但这次改版以后评论里的就看不到了,我就重新贴一下。

10。按行读文件

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

<%@ page import="java.io.*" %>

<%

FileReader myFileReader=new FileReader("c:/哈哈.txt");

BufferedReader myBufferedReader=new BufferedReader(myFileReader);

String myString=null;

String resultString=new String();

while((myString=myBufferedReader.readLine())!=null)

{ resultString=resultString+myString+"<br>";

}

out.println(resultString);

myFileReader.close();

%>

11。 数据库里字段文件直接下载到客户端

<%@ page import="java.sql.*"%>

<%@ page import="java.lang.*" %>

<%@ page import="java.io.*" %>

<%@ page import="com.jspsmart.upload.*" %>

<%@ page import="DBstep.iDBManager2000.*"%>

<%

String fileName = "bb.doc".toString();

//打开数据库

ResultSet result=null;

String Sql=null;

PreparedStatement prestmt=null;

DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();

DbaObj.OpenConnection();

//取得数据库中的数据

Sql="select * from marklist order by markdate desc";

result=DbaObj.ExecuteQuery(Sql);

result.next();

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

InputStream in =result.getBinaryStream("markbody");

//设置输出的格式

response.reset();

response.setContentType("application/Msword");

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

//循环取出流中的数据

byte[] b = new byte[1024];

int len;

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

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

in.close();

%>

12。文件夹遍历

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

<%@ page import="java.io.*" %>

<%

String url1="C:/aaa";

File f=(new File(url1));

if(f.isDirectory()){

File [] fe = f.listFiles();

go_on:

for (int i = 0;i<fe.length;i++){

if (fe[i].isDirectory()){

File [] fe1 = fe[i].listFiles();

for (int j = 0;j<fe1.length;j++){

if (fe1[j].isDirectory())

continue go_on;

out.println(fe1[j].toString());

}

}

else out.println(fe[i].toString());

}

}

%>

13。通过字符编码移动文件

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

<%@ page import="java.io.*" %>

<%

String ret=new String();

try

{

byte[] bytes=new byte[102400];

InputStream in=new FileInputStream("c:/aaa.doc");

in.read(bytes);

ret=new sun.misc.BASE64Encoder().encode(bytes); //具体的编码方法

in.close();

}

catch(FileNotFoundException e)

{

e.printStackTrace();

}

catch(java.io.IOException ex)

{

ex.printStackTrace();

}

out.println(ret);

byte[] bytes = new sun.misc.BASE64Decoder().decodeBuffer(ret);

java.io.ByteArrayInputStream inStream=new java.io.ByteArrayInputStream(bytes);

byte[] buffer =new byte[1444];

FileOutputStream fs=new FileOutputStream( "d:/aaa.doc");

int bytesum=0;

int byteread=0;

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

{

bytesum+=byteread;

fs.write(buffer,0,byteread);

}

%>

14。把文件编码成base64字符串

<%

String ret=new String();

byte[] bytes=new byte[1024];

String aa="aaaa";

bytes=aa.getBytes();

ret=new sun.misc.BASE64Encoder().encode(bytes); //具体的编码方法

bytes = new sun.misc.BASE64Decoder().decodeBuffer(ret);

aa=new String(bytes);

out.println(aa);

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航