ITPub博客

首页 > 应用开发 > Java > Java中对文件的操作 (转)

Java中对文件的操作 (转)

原创 Java 作者:amyz 时间:2007-08-15 18:35:50 0 删除 编辑
Java中对文件的操作 (转)[@more@]

Java中对文件的操作

  java中提供了io类库,可以轻松的用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; 
到流中
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("

"+byteread+"
");
 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  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();

数据库中的数据读到流中
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("

"+byteread+"
");
 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("

"+byteread+"
");
  bytesum+=byteread;
  System.out.println(bytesum);
  fs.write(buffer,0,byteread);
  }
%>

  这些是我积累的一些java中对文件的操作,希望对大家有点启发。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-959281/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3982
  • 访问量
    7896364