內(nèi)蒙古java團隊

          j2se,j2ee開發(fā)組
          posts - 139, comments - 212, trackbacks - 0, articles - 65
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          java對各種文件操作.

          Posted on 2006-11-26 13:21 帥子 閱讀(265) 評論(0)  編輯  收藏 所屬分類: J2EE技術專區(qū)

          java中提供了io類庫,可以輕松的用java實現(xiàn)對文件的各種操作。下面就來說一下如何用java來實現(xiàn)這些操作。
          ?
          新建目錄<%@?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?="這是測試數(shù)據(jù)";
          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?+?"\"");
          ??//循環(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ù)庫字段中的文件下載
          <%@?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());
          ???????}
          ????}??
          %>
          ?
          把網(wǎng)頁保存成文件<%@?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é)流轉變成為字符流
          ????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);
          ???}
          ?}
          %>
          ?
          直接下載網(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:/測試/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"?%>
          <!--?以上這行設定本網(wǎng)頁為excel格式的網(wǎng)頁?-->
          <%
          ???response.setHeader("Content-disposition","inline;?filename=test1.doc");?//線上瀏覽方式
          ??//?response.setHeader("Content-disposition","attachment;?filename=test1.doc");//下載方式
          ???//以上這行設定傳送到前端瀏覽器時的檔名為test1.doc
          ???//就是靠這一行,讓前端瀏覽器以為接收到一個word檔
          %>
          //然后輸出動態(tài)內(nèi)容就可以得到一個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();
          ?%>?
          主站蜘蛛池模板: 阿合奇县| 抚顺市| 体育| 托克逊县| 彰化市| 永兴县| 西丰县| 谢通门县| 柘城县| 蓬安县| 康保县| 高雄县| 安平县| 鄱阳县| 厦门市| 舞钢市| 永吉县| 霍山县| 大厂| 县级市| 广汉市| 平原县| 安福县| 青田县| 镇沅| 雅安市| 浙江省| 五指山市| 苏尼特右旗| 安泽县| 合阳县| 巴林右旗| 昆明市| 台北市| 合山市| 北碚区| 长顺县| 三穗县| 祥云县| 毕节市| 韩城市|