`
EJB_wawa
  • 浏览: 107019 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 文件操作

阅读更多
java 文件操作
   1。新建目录

<%@ page contentType="text/html;charset=gb2312"%>
<%
String filePath="c:/aaa/";
filePath=filePath.toString();//中文转换
java.io.File myFilePath=new java.io.File(filePath);
if(!myFilePath.exists())
myFilePath.mkdir();
%>

  2。新建文件

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*" %>
<%
String filePath="c:/哈哈.txt";
filePath=filePath.toString();
File myFilePath=new File(filePath);
if(!myFilePath.exists())
myFilePath.createNewFile();
FileWriter resultFile=new FileWriter(myFilePath);
PrintWriter myFile=new PrintWriter(resultFile);
String strContent = "中文测试".toString();
myFile.println(strContent);
resultFile.close();
%>

3。删除文件

<%@ page contentType="text/html;charset=gb2312"%>
<%
String filePath="c:/支出证明单.xls";
filePath=filePath.toString();
java.io.File myDelFile=new java.io.File(filePath);
myDelFile.delete();
%>

4。文件拷贝

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.io.*" %>
<%
int bytesum=0;
int byteread=0;
file://读到流中
InputStream inStream=new FileInputStream("c:/aaa.doc");
FileOutputStream fs=new FileOutputStream( "d:/aaa.doc");byte[]  buffer =new  byte[1444];
int length;
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。整个文件夹拷贝

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*" %>
<%String url1="C:/aaa";
  String url2="d:/java/";
  (new File(url2)).mkdirs();
File[] file=(new File(url1)).listFiles();
for(int i=0;i<file.length;i++){
  if(file[i].isFile()){
   file[i].toString();
   FileInputStream input=new FileInputStream(file[i]);
   FileOutputStream output=new FileOutputStream(url2+"/"+(file[i].getName()).toString());
   byte[] b=new byte[1024*5];
    int len;
    while((len=input.read(b))!=-1){
    output.write(b,0,len);
    }
    output.flush();
    output.close();
    input.close();
  }
}
%>

6。文件下载

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.io.*" %>
<%
  String fileName = "zsc104.swf".toString();
//读到流中
InputStream inStream=new FileInputStream("c:/zsc104.swf");
//设置输出的格式
  response.reset();
  response.setContentType("bin");
  response.addHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");
//循环取出流中的数据
  byte[] b = new byte[100];
  int len;
  while((len=inStream.read(b)) >0)
  response.getOutputStream().write(b,0,len); 
  inStream.close();
%>

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

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.lang.*" %>
<%@ page import="java.io.*" %>
<%@ page import="com.jspsmart.upload.*" %>
<%@ page import="DBstep.iDBManager2000.*"%>
<%
int bytesum=0;
int byteread=0;
//打开数据库
ResultSet result=null;
String Sql=null;
PreparedStatement prestmt=null;
DBstep.iDBManager2000 DbaObj=new DBstep.iDBManager2000();
DbaObj.OpenConnection();
//取得数据库中的数据
Sql="select  *  from  t_local_zhongzhuan ";
result=DbaObj.ExecuteQuery(Sql);
result.next();

file://将数据库中的数据读到流中
InputStream inStream=result.getBinaryStream("content");
FileOutputStream fs=new FileOutputStream( "c:/dffdsafd.doc");

byte[]  buffer =new  byte[1444];
int length;
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。把网页保存成文件

<%@ page import="java.text.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%
URL stdURL = null;
BufferedReader stdIn = null;
PrintWriter stdOut = null;
try {
  stdURL = new URL("http://www.163.com");
}
catch (MalformedURLException e) {
   throw e;
}

try {
   stdIn = new BufferedReader(new InputStreamReader(stdURL.openStream()));
   stdOut = new PrintWriter(new BufferedWriter(new FileWriter("c:/163.html")));
}
catch (IOException e) {
}

/***把URL指定的页面以流的形式读出,写成指定的文件***/
try {
   String strHtml = "";
   while((strHtml = stdIn.readLine())!=null) {
   stdOut.println(strHtml);
   }
}
catch (IOException e) {
   throw e;
}
finally {
   try {
     if(stdIn != null)
       stdIn.close();
     if(stdOut != null)
       stdOut.close();
   }
   catch (Exception e) {
     System.out.println(e);
   }
}
%>

9。直接下载网上的文件

<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%
int bytesum=0;
int byteread=0;

URL url = new URL("http://pimg.163.com/sms/micheal/logo.gif");
URLConnection conn = url.openConnection();
InputStream inStream = conn.getInputStream();
FileOutputStream fs=new FileOutputStream( "c:/abc.gif");

  byte[]  buffer =new  byte[1444];
   int length;
    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。按行读文件
<%@ 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);
%>


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);
%>
分享到:
评论
2 楼 dopic 2009-04-27  
受不了你
1 楼 hyint 2009-02-18  
请问下楼主,你在用JNative到时候,有没有封装过Callback呢?在DLL中回调函数是比较灵活的,然而觉得JNative的回调函数比较死板。你能给个建议吗?谢谢!

相关推荐

Global site tag (gtag.js) - Google Analytics