軟件藝術思考者  
          混沌,彷徨,立志,蓄勢...
          公告
          日歷
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          隨筆分類(86)

          隨筆檔案(85)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           
          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;?
          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);
          ???? }
          %>

          ? 這些是我積累的一些java中對文件的操作,希望對大家有點啟發。


          java處理壓縮文件2006-9-1 0:01:11
          java處理壓縮文件
          import java.io.DataInputStream;
          import java.io.DataOutputStream;
          import java.io.File;
          import java.io.FileInputStream;
          import java.io.FileOutputStream;
          import java.util.zip.ZipEntry;
          import java.util.zip.ZipInputStream;
          import java.util.zip.ZipOutputStream;

          public class zipTest2 {
          ?String fileName1 = ".\\zipfile.zip";
          ?String fileName2 = ".\\zipfile.zip";
          ?File sourceFile = new File(fileName1);
          ?File targetFile = new File(fileName2);

          ?public void makeZip()
          ?{

          ??ZipOutputStream zipos;
          ??try {
          ???if (!targetFile.exists())
          ????targetFile.createNewFile();
          ???zipos = new ZipOutputStream(new FileOutputStream(targetFile));

          ???zipos.setMethod(ZipOutputStream.DEFLATED); // 設置壓縮方法

          ???zipos.putNextEntry(new ZipEntry("file1.txt"));// 創建文件

          ???DataOutputStream data_output = new DataOutputStream(zipos);

          ???data_output.writeInt(1);

          ???zipos.putNextEntry(new ZipEntry("file2.txt"));
          ???data_output.writeUTF("Helloworld");

          ???zipos.close();

          ???// 生成一個ZIP entry,寫入文件輸出流中,并將輸出流定位于entry起始處。
          ??} catch (Exception e) {
          ???e.printStackTrace();
          ??}
          ?}

          ?public void unzip()
          ?{
          ??ZipInputStream zipis;
          ??try {
          ???zipis = new ZipInputStream(new FileInputStream(fileName1));

          ???File dir = new File(fileName1.substring(0, fileName1.length() - 4));
          ???System.out.println(dir);
          ???dir.mkdir();// 創建文件夾
          ???ZipEntry ze;// 壓縮內部文件入口
          ???while ( (ze = zipis.getNextEntry()) != null) {
          ????String file = fileName1.substring(0, fileName1.length() - 4)
          ??????+ "\\" + ze.getName();// 生成文件絕對路徑及文件名
          ????File newFile = new File(file);
          ????System.out.println(file);
          ????newFile.createNewFile();
          ????DataInputStream data_input = new DataInputStream(zipis);// 源
          ????DataOutputStream fileWriter = new DataOutputStream(// 目標
          ??????new FileOutputStream(newFile));

          ????int BUFFER = 1024;
          ????byte[] buffer = new byte[BUFFER];
          ????int count = 0;
          ????while ( (count = data_input.read(buffer, 0, BUFFER)) != -1) {
          ?????fileWriter.write(buffer, 0, count);
          ????}
          ????// 關閉流
          ????fileWriter.flush();
          ????fileWriter.close();

          ???}
          ???zipis.close();
          ??} catch (Exception e) {
          ???e.printStackTrace();
          ??}
          ?}

          ?public static void main(String[] args)
          ?{
          ??zipTest2 z = new zipTest2();
          ??// z.makeZip();
          ??z.unzip();
          ?}

          }

          posted on 2006-09-04 16:08 智者無疆 閱讀(396) 評論(1)  編輯  收藏 所屬分類: about java
          評論:
           
          Copyright © 智者無疆 Powered by: 博客園 模板提供:滬江博客


             觀音菩薩贊

          主站蜘蛛池模板: 凭祥市| 武汉市| 桂阳县| 永嘉县| 满城县| 云阳县| 安徽省| 台山市| 观塘区| 五台县| 锡林浩特市| 墨江| 固镇县| 吉水县| 沅陵县| 中山市| 广东省| 汶上县| 株洲县| 文成县| 安溪县| 博野县| 巫山县| 内乡县| 定襄县| 大关县| 新蔡县| 西青区| 罗江县| 乌审旗| 聂拉木县| 张家港市| 神木县| 汪清县| 韶山市| 拉萨市| 舟曲县| 双鸭山市| 大关县| 岚皋县| 榆林市|