用java实现对文件的各种操作

来源:互联网 发布:linux memmap 编辑:程序博客网 时间:2024/04/30 13:52

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

 

 

%>

删除非空目录

  1.   /**

  2.    * 删除指定目录及其中的所有内容。

  3.    * @param dir 要删除的目录

  4.    * @return 删除成功时返回true,否则返回false

  5.    * @since  0.1

  6.    */

  7.   public static boolean deleteDirectory(File dir) {

  8.     if ( (dir == null) || !dir.isDirectory()) {

  9.       throw new IllegalArgumentException("Argument " + dir +

  10.                                          " is not a directory. ");

  11.     }

  12.  

  13.     File[] entries = dir.listFiles();

  14.     int sz = entries.length;

  15.  

  16.     for (int i = 0; i < sz; i++) {

  17.       if (entries[i].isDirectory()) {

  18.         if (!deleteDirectory(entries[i])) {

  19.           return false;

  20.         }

  21.       }

  22.       else {

  23.         if (!entries[i].delete()) {

  24.           return false;

  25.         }

  26.       }

  27.     }

  28.  

  29.     if (!dir.delete()) {

  30.       return false;

  31.     }

  32.     return true;

  }

文件拷贝

  //使用FileInputStream和FileOutStream
  public static void copyfile(String sourcePath, String descPath) throws IOException    {
    FileInputStream fi = new FileInputStream(sourcePath);
    FileOutputStream fo = new FileOutputStream(descPath);
    byte data[] = new byte[fi.available()];
    fi.read(data);
    fo.write(data);
    fi.close();
    fo.close();
  }
}

原创粉丝点击