posts - 188,comments - 176,trackbacks - 0
          java中提供了io類庫(kù),可以輕松的用java實(shí)現(xiàn)對(duì)文件的各種操作。下面就來(lái)說(shuō)一下如何用java來(lái)實(shí)現(xiàn)這些操作。
           

          新建目錄
          <%@ page contentType="text/html;charset=gb2312"%>
          <%
          //String URL = request.getRequestURI();
          String filePath="C:\\測(cè)試\\";
          filePath=filePath.toString();//中文轉(zhuǎn)換
          java.io.File myFilePath=new java.io.File(filePath);
          if(!myFilePath.exists())
          myFilePath.mkdir();
          %>

           
          新建文件
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.io.*" %>
          <%
          String filePath="c:/測(cè)試/newFile.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 content ="這是測(cè)試數(shù)據(jù)";
          String strContent = content.toString();
          myFile.println(strContent);
          resultFile.close();
          %>

           
          刪除文件
          <%@ page contentType="text/html;charset=gb2312"%>
          <%
          String filePath="c://測(cè)試//newFile.txt";
          filePath=filePath.toString();
          java.io.File myDelFile=new java.io.File(filePath);
          if(myDelFile.exists())
          {  
              myDelFile.delete();
              out.println(filePath+"刪除成功!!!");
          }
          else
          {
              out.println(filePath+"該文件不存在");
          }
          %>

          文件拷貝
          <%@ page contentType="text/html; charset=gb2312" %>
          <%@ page import="java.io.*" %>
          <%
          int bytesum=0;
          int byteread=0;
          //file:讀到流中
          InputStream inStream=new FileInputStream("c://測(cè)試//newFile.txt");
          FileOutputStream fs=new FileOutputStream( "c://測(cè)試//copyFile.txt");
          byte[]  buffer =new  byte[1444];
          int length;
          while ((byteread=inStream.read(buffer))!=-1)
           {
             out.println("<DT><B>"+byteread+"</B></DT>");
             bytesum+=byteread;
             out.println(bytesum);
             fs.write(buffer,0,byteread);
           }
          inStream.close();
          %>

           
          整個(gè)文件夾拷貝
          <%@ 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();
            }
           }
          %>
           

          文件下載
          <%@ page contentType="text/html; charset=gb2312"%>
          <%@ page import="java.io.*" %>
          <%
            String fileName = "newFile.txt".toString();
            //讀到流中
            InputStream inStream=new FileInputStream("c://測(cè)試//newFile.txt");
            //設(shè)置輸出的格式
            response.reset();
            response.setContentType("text/plain");
            response.addHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");
            //循環(huán)取出流中的數(shù)據(jù)
            byte[] b = new byte[100];
            int len;
            ServletOutputStream outStream = response.getOutputStream();
           
            while((len=inStream.read(b)) >0)
            outStream.write(b,0,len);
            outStream.flush();
            outStream.close();
            inStream.close();
          %>

           
          數(shù)據(jù)庫(kù)字段中的文件下載
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.util.*,java.sql.*,java.io.*"%>
          <%
              String id = request.getParameter("id");
              if(id==null)
              {   throw new Exception ("沒(méi)有找到圖片");
              }
              else
              {
                 try
                 {
          com.gzrealmap.lib.jdbc.JDBCUtil SqlBean=com.gzrealmap.lib.jdbc.JDBCUtil.getInstance();
                         SqlBean.connect();
                         String sql = "select * from innernews where id = '"+79+"'";
                         ResultSet rs = SqlBean.queryforUpdate(sql);
                         rs.next();
                         //String fileNamedb = rs.getString("imageName");
                         String file= rs.getString("acc");
                         //String fileName = new String(fileNamedb.getBytes(),"iso-               8859-1");
                         String fileName = "a.jpg";
          response.setHeader("Content-Disposition",  "inline; filename=\"" + fileName + "\"");    
                         String filter = fileName.substring(fileName.lastIndexO("."));
                        
                         if(filter.equals(".txt"))
                         {
                             response.setContentType("text/plain");
                         }
                         else if(filter.equals(".doc")||filter.equals(".dot"))
                         {
                             response.setContentType("application/msword");
                         }
                         else
                         {
                           response.setContentType("image/jpeg;charset=GB2312");
                         }
                         ServletOutputStream o = response.getOutputStream();
                         //o.write(file);
                         out.println(file);
                         //o.flush();
                         //o.close();
                         SqlBean.disconnect();
                 }
                  catch(Exception ex)
                 {
                     out.println(ex.getMessage());
                 }
              }  
          %>
           
          把網(wǎng)頁(yè)保存成文件
          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ page import="java.text.*,java.util.*,java.net.*,java.io.*"%>
          <%
           URL stdURL = null;
           BufferedReader stdIn = null;
           PrintWriter stdOut = null;
           try {
            stdURL = new URL("http://www.163.com");
           }
           catch (MalformedURLException e) {
             throw e;
           }
           
          try {
              //將字節(jié)流轉(zhuǎn)變成為字符流
              stdIn = new BufferedReader(new InputStreamReader(stdURL.openStream()));
              String theFileName = "c://測(cè)試//163.html";
              stdOut = new PrintWriter(new BufferedWriter(new FileWriter(theFileName.toString())));
           }
           catch (IOException e) {
           }
           

           /***把URL指定的頁(yè)面以流的形式讀出,寫(xiě)成指定的文件***/
           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);
             }
           }
          %>
           

          直接下載網(wǎng)上的文件

          <%@ page contentType="text/html;charset=gb2312"%>
          <%@ 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();
           
            /**
            String theFileName = "c:/測(cè)試/logo.gif";
            theFileName = theFileName.toString();
            File myFilePath=new File(theFileName);
            if(!myFilePath.exists())
            myFilePath.createNewFile();
            **/
           
            FileOutputStream fs=new FileOutputStream("c:/測(cè)試/logo2.gif");
            byte[]  buffer =new  byte[1444];
              while ((byteread=inStream.read(buffer))!=-1)
              {
                 out.println("<DT><B>"+byteread+"</B></DT>");
                 bytesum+=byteread;
                 //System.out.println(bytesum);
                 fs.write(buffer,0,byteread);
               }
          %>
           

          按行讀文件
          <%@ 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();
          %>

           
          對(duì)word文檔的處理(上傳與下載)
          <%@ page contentType="application/msword" %>
          <!-- 以上這行設(shè)定本網(wǎng)頁(yè)為excel格式的網(wǎng)頁(yè) -->
          <%
             response.setHeader("Content-disposition","inline; filename=test1.doc"); //線上瀏覽方式
            // response.setHeader("Content-disposition","attachment; filename=test1.doc");//下載方式
             //以上這行設(shè)定傳送到前端瀏覽器時(shí)的檔名為test1.doc
             //就是靠這一行,讓前端瀏覽器以為接收到一個(gè)word檔
          %>
          //然后輸出動(dòng)態(tài)內(nèi)容就可以得到一個(gè)word文檔了
           
          1,打開(kāi):
          1)文件頭上加:<%@ page  contentType="application/msword"%> 
          xml文件里:
          <mime-mapping>
                  <extension>doc</extension>
                  <mime-type>application/msword</mime-type>
          </mime-mapping>
          2)可以用js,以下代碼來(lái)自引用:
          <%@ page contentType="text/html;charset=gb2312" import= "java.io.*"%>
          <HTML>
          <script>
          var wrd=new ActiveXObject("Word.Application")
          wrd.visible=true
          alert("您的"+wrd.Application.Caption+"安裝路徑為:\n"+wrd.Application.Path+"\n版本號(hào)是:"+wrd.Application.version+"\n注冊(cè)使用者是:"+wrd.Application.UserName)
          wrd.Documents.Add()
          //wrd.Documents.Open("c:\\exam.doc")
          wrd.Selection.TypeText("This is some text.")
          wrd.Application.Activate()
          wrd.ActiveDocument.SaveAs("c:\\exam111.doc")
          wrd=null
          </script>
          </HTML>
           
          2,下載:
          <%@ page contentType="text/html;charset=gb2312" import= "java.io.*"%>
          <%// 得到文件名字和路徑
            String filename = "jsp.doc";
            String filepath = "C:\\";
           
            // 設(shè)置響應(yīng)頭和下載保存的文件名
            response.setContentType("APPLICATION/OCTET-STREAM");
            response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\"");
           
            // 打開(kāi)指定文件的流信息
            java.io.FileInputStream fileInputStream = new java.io.FileInputStream(filepath + filename);
            //FileOutputStream out  = new FileOutputStream(filepath+"測(cè)試\\" + filename);
            // 寫(xiě)出流信息
            int i;
            while ((i=fileInputStream.read()) != -1) {
             out.write(i);
            }
            fileInputStream.close();
            out.close();
           %>


          轉(zhuǎn)CSDN

           

          posted on 2007-05-24 11:07 cheng 閱讀(326) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 陆丰市| 墨玉县| 义马市| 龙门县| 利津县| 洛南县| 长乐市| 孝昌县| 舟曲县| 上栗县| 蚌埠市| 琼结县| 宽甸| 石嘴山市| 友谊县| 武山县| 利津县| 德清县| 青龙| 安龙县| 泉州市| 肃南| 萍乡市| 板桥市| 沂南县| 通化市| 汉阴县| 南召县| 普洱| 浮梁县| 达日县| 济源市| 天气| 威远县| 嘉黎县| 乌苏市| 安庆市| 枣庄市| 洪泽县| 杭锦后旗| 阿城市|