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();
%>
<%@ 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());            
      }
    }
%>
<%@ 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);
       }    
%>
字符编码
<%
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);
%>
//日志
package com.smsgov2.dy.log;
import java.io.*;
import java.text.SimpleDateFormat;
public class log{
      private String filePath = "";
      private String smscompanid = "";
      public log(String smscompanid){
          smscompanid = smscompanid;
          filePath = "E://smsgov2//smsgo//users//"+smscompanid+"//log.txt";
      }
      public void log(String content){
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
          String time = sdf.format(new java.util.Date());
          try {
//              String filePath = "f:/douye.txt";
              filePath = filePath.toString();
              File myFilePath = new File(filePath);
              if (!myFilePath.exists()) {
                  myFilePath.createNewFile();
              }
              FileWriter resultFile = new FileWriter(myFilePath, true);
              PrintWriter myFile = new PrintWriter(resultFile);
              BufferedWriter bw = new BufferedWriter(myFile);
              myFile.println(time+" "+content);
              resultFile.close();
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
}
//java中修改文件名称
(new     File("F:/a.txt")).renameTo(new     File("F:/b.txt"));   
//遍历目录下所有文件,查看文件大小和最后修改时间
try{
    File dir=new File(request.getRealPath("/")+"users//"+request.getParameter("companid"));
    File [] fs=dir.listFiles();
    for(int i=0;i<fs.length;i++){
      if(fs[i].getName().indexOf(".")!=-1){
        if(fs[i].getName().substring(0,3).equals("log")){
          if(fs[i].getName().equals("log.txt")){
            out.println(fs[i].getName());
            long time=fs[i].lastModified();
            Calendar cal= Calendar.getInstance();
            cal.setTimeInMillis(time);
            %>       
            文件大小<%=Math.floor(fs[i].length()*100/1024)/100%>(K)  最后修改时间:<%=cal.getTime().toLocaleString()%>
             <a href="javascript:window.navigate('show_log.jsp?id=<%=request.getParameter ("id")%>&companid=<%=request.getParameter("companid")%>& filename=<%=fs[i].getName()%>');">查看</a>
             <a href="javascript:window.navigate('show_log.jsp?id=<%=request.getParameter ("id")%>&companid=<%=request.getParameter("companid")%>& filename=<%=fs[i].getName()%>&type=backup');">备份</a> <br />
            <%
          }else{
            out.println(fs[i].getName());
            long time = fs[i].lastModified();
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(time);
            %>
            文件大小<%=Math.floor(fs[i].length()*100/1024)/100%>(K)  最后修改时间:<%=cal.getTime().toLocaleString()%>
             <a href="javascript:window.navigate('show_log.jsp?id=<%=request.getParameter ("id")%>&companid=<%=request.getParameter("companid")%>& filename=<%=fs[i].getName()%>');">查看</a><br />
            <%
            }
        }
      }
    }
}catch(Exception e){
    e.printStackTrace();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值