Java Bo&Yang
          java的交流從這里開始
          posts - 8,comments - 6,trackbacks - 0
            java中提供了io類庫,可以輕松的用java實現對文件的各種操作。下面就來說一下如何用java來實現這些操作。

           

          新建目錄

          <%@ page contentType="text/html;charset=gb2312"%>

          <%

          //String URL = request.getRequestURI();

          String filePath="C:\\測試\\";

          filePath=filePath.toString();//中文轉換

          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:/測試/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 ="這是測試數據";

          String strContent = content.toString();

          myFile.println(strContent);

          resultFile.close();

          %>

           

          刪除文件

          <%@ page contentType="text/html;charset=gb2312"%>

          <%

          String filePath="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://測試//newFile.txt");

          FileOutputStream fs=new FileOutputStream( "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();

          %>

           

          整個文件夾拷貝

           

          <%@ 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://測試//newFile.txt");

            //設置輸出的格式

            response.reset();

            response.setContentType("text/plain");

            response.addHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");

            //循環取出流中的數據

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

          %>

           

          數據庫字段中的文件下載

           

          <%@ 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 ("沒有找到圖片");

              }

              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.lastIndexOf("."));

                        

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

                 }

              }  

          %>

           

          把網頁保存成文件

          <%@ 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 {

              //將字節流轉變成為字符流

              stdIn = new BufferedReader(new InputStreamReader(stdURL.openStream()));

              String theFileName = "c://測試//163.html";

              stdOut = new PrintWriter(new BufferedWriter(new FileWriter(theFileName.toString())));

           }

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

             }

           }

          %>

           

          直接下載網上的文件

           

          <%@ 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:/測試/logo.gif";

            theFileName = theFileName.toString();

            File myFilePath=new File(theFileName);

            if(!myFilePath.exists())

            myFilePath.createNewFile();

            **/

           

            FileOutputStream fs=new FileOutputStream("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();

          %>

           

          word文檔的處理(上傳與下載)

          <%@ page contentType="application/msword" %>

          <!-- 以上這行設定本網頁為excel格式的網頁 -->

          <%

             response.setHeader("Content-disposition","inline; filename=test1.doc"); //線上瀏覽方式

            // response.setHeader("Content-disposition","attachment; filename=test1.doc");//下載方式

             //以上這行設定傳送到前端瀏覽器時的檔名為test1.doc

             //就是靠這一行,讓前端瀏覽器以為接收到一個word檔

          %>

          //然后輸出動態內容就可以得到一個word文檔了

           

          1,打開:

          1)文件頭上加:<%@ page  contentType="application/msword"%> 

          xml文件里:

          <mime-mapping>

                  <extension>doc</extension>

                  <mime-type>application/msword</mime-type>

          </mime-mapping>

          2)可以用js,以下代碼來自引用:

          <%@ 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版本號是:"+wrd.Application.version+"\n注冊使用者是:"+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:\\";

           

            // 設置響應頭和下載保存的文件名

            response.setContentType("APPLICATION/OCTET-STREAM");

            response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\"");

           

            // 打開指定文件的流信息

            java.io.FileInputStream fileInputStream = new java.io.FileInputStream(filepath + filename);

            //FileOutputStream out  = new FileOutputStream(filepath+"測試\\" + filename);

            // 寫出流信息

            int i;

            while ((i=fileInputStream.read()) != -1) {

             out.write(i);

            }

            fileInputStream.close();

            out.close();

           %>

          posted on 2005-08-02 16:11 Java BY 閱讀(954) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 建瓯市| 雷波县| 大姚县| 曲松县| 康马县| 客服| 沙雅县| 龙泉市| 黑水县| 得荣县| 遵化市| 霍州市| 昂仁县| 棋牌| 绥化市| 海阳市| 许昌市| 新化县| 太康县| 镇平县| 磴口县| 大城县| 比如县| 云浮市| 象山县| 阿拉善盟| 连山| 江油市| 齐齐哈尔市| 辽宁省| 佛冈县| 乌拉特前旗| 加查县| 家居| 宜阳县| 阳曲县| 奈曼旗| 微山县| 上思县| 芒康县| 乃东县|