熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

Java對各種文件的操作詳解

2013-11-23 19:51:21  來源: Java高級技術 

  java中提供了io類庫可以輕松的用java實現對文件的各種操作下面就來說一下如何用java來實現這些操作
 
新建目錄
<%@ page contentType=text/html;charset=gb%>
<%
//String URL = requestgetRequestURI();
String filePath=C:\\測試\\;
filePath=filePathtoString();//中文轉換
javaioFile myFilePath=new javaioFile(filePath);
if(!myFilePathexists())
myFilePathmkdir();
%>
 
新建文件
<%@ page contentType=text/html;charset=gb%>
<%@ page import=javaio* %>
<%
String filePath=c:/測試/newFiletxt;
filePath=filePathtoString();
File myFilePath=new File(filePath);
if(!myFilePathexists())
myFilePathcreateNewFile();
FileWriter resultFile=new FileWriter(myFilePath);
PrintWriter myFile=new PrintWriter(resultFile);
String content =這是測試數據;
String strContent = contenttoString();
myFileprintln(strContent);
resultFileclose();
%>
 
刪除文件
<%@ page contentType=text/html;charset=gb%>
<%
String filePath=c://測試//newFiletxt;
filePath=filePathtoString();
javaioFile myDelFile=new javaioFile(filePath);
if(myDelFileexists())
{  
    myDelFiledelete();
    outprintln(filePath+刪除成功!!!);
}
else
{
    outprintln(filePath+該文件不存在);
}
%>
文件拷貝<%@ page contentType=text/html; charset=gb %>
<%@ page import=javaio* %>
<%
int bytesum=;
int byteread=;
//file:讀到流中
InputStream inStream=new FileInputStream(c://測試//newFiletxt);
FileOutputStream fs=new FileOutputStream( c://測試//copyFiletxt);
byte[]  buffer =new  byte[];
int length;
while ((byteread=inStreamread(buffer))!=)
 {
   outprintln(<DT><B>+byteread+</B></DT>);
   bytesum+=byteread;
   outprintln(bytesum);
   fswrite(bufferbyteread);
 }
inStreamclose();
%>
 
整個文件夾拷貝
<%@ page contentType=text/html;charset=gb%>
<%@ page import=javaio* %>
<%String url=C:/aaa;
  String url=d:/java/;
  (new File(url))mkdirs();
 File[] file=(new File(url))listFiles();
 for(int i=;i<filelength;i++){
  if(file[i]isFile()){
   file[i]toString();
   FileInputStream input=new FileInputStream(file[i]);
   FileOutputStream output=new FileOutputStream(url+/+(file[i]getName())toString());
   byte[] b=new byte[*];
    int len;
    while((len=inputread(b))!=){
    outputwrite(blen);
    }
    outputflush();
    outputclose();
    inputclose();
  }
 }
%>
 

  文件下載
<%@ page contentType=text/html; charset=gb%>
<%@ page import=javaio* %>
<%
  String fileName = newFiletxttoString();
  //讀到流中
  InputStream inStream=new FileInputStream(c://測試//newFiletxt);
  //設置輸出的格式
  responsereset();
  responsesetContentType(text/plain);
  responseaddHeader(ContentDispositionattachment; filename=\ + fileName + \);
  //循環取出流中的數據
  byte[] b = new byte[];
  int len;
  ServletOutputStream outStream = responsegetOutputStream();
 
  while((len=inStreamread(b)) >)
  outStreamwrite(blen);
  outStreamflush();
  outStreamclose();
  inStreamclose();
%>
 
數據庫字段中的文件下載
<%@ page contentType=text/html;charset=gb%>
<%@ page import=javautil*javasql*javaio*%>
<%
    String id = requestgetParameter(id);
    if(id==null)
    {   throw new Exception (沒有找到圖片);
    }
    else
    {
       try
       {
comgzrealmaplibjdbcJDBCUtil  SqlBean= comgzrealmaplibjdbcJDBCUtilgetInstance();
               nnect();
               String sql = select * from innernews where id = ++;
               ResultSet rs = SqlBeanqueryforUpdate(sql);
               rsnext();
               //String fileNamedb = rsgetString(imageName);
               String file= rsgetString(acc);
               //String fileName = new String(fileNamedbgetBytes()iso);
               String fileName = ajpg;
                responsesetHeader(ContentDisposition  inline; filename=\ + fileName + \);    
               String filter = fileNamesubstring(fileNamelastIndexOf());
              
               if(filterequals(txt))
               {
                   responsesetContentType(text/plain);
               }
               else if(filterequals(doc)||filterequals(dot))
               {
                   responsesetContentType(application/msword);
               }
               else
               {
                 responsesetContentType(image/jpeg;charset=GB);
               }
               ServletOutputStream o = responsegetOutputStream();
               //owrite(file);
               outprintln(file);
               //oflush();
               //oclose();
               SqlBeandisconnect();
       }
        catch(Exception ex)
       {
           outprintln(exgetMessage());
       }
    }  
%>
 
把網頁保存成文件
<%@ page contentType=text/html;charset=gb%>
<%@ page import=javatext*javautil**javaio*%>
<%
 URL stdURL = null;
 BufferedReader stdIn = null;
 PrintWriter stdOut = null;
 try {
  stdURL = new URL();
 }
 catch (MalformedURLException e) {
   throw e;
 }
 
try {
    //將字節流轉變成為字符流
    stdIn = new BufferedReader(new InputStreamReader(stdURLopenStream()));
    String theFileName = c://測試//l;
    stdOut = new PrintWriter(new BufferedWriter(new FileWriter(theFileNametoString())));
 }
 catch (IOException e) {
 }
 
 /***把URL指定的頁面以流的形式讀出寫成指定的文件***/
 try {
    String strHtml = ;
   while((strHtml = stdInreadLine())!=null) {
   stdOutprintln(strHtml);
   }
 }
 catch (IOException e) {
   throw e;
 }
 finally {  
   try {
     if(stdIn != null)
       stdInclose();
     if(stdOut != null)
       stdOutclose();
       }
   catch (Exception e) {
     Systemoutprintln(e);
   }
 }
%>
 

  直接下載網上的文件
<%@ page contentType=text/html;charset=gb%>
<%@ page import=javaio*%>
<%@ page import=*%>
<%
  int bytesum=;
  int byteread=;
  URL url = new URL(_//gif);
  byte[]  buffer =new  byte[];
    while ((byteread=inStreamread(buffer))!=)
    {
       outprintln(<DT><B>+byteread+</B></DT>);
       bytesum+=byteread;
       //Systemoutprintln(bytesum);
       fswrite(bufferbyteread);
     }
%>
 
按行讀文件 
<%@ page contentType=text/html; charset=gb %>
<%@ page import=javaio* %>
<%
FileReader myFileReader=new FileReader(c:/哈哈txt);
BufferedReader myBufferedReader=new BufferedReader(myFileReader);
String myString=null;
String resultString=new String();
while((myString=myBufferedReaderreadLine())!=null) {
resultString=resultString+myString+<br>;
}
outprintln(resultString);
myFileReaderclose();
%>
 
對word文檔的處理(上傳與下載)
<%@ page contentType=application/msword %>
<! 以上這行設定本網頁為excel格式的網頁 >
<%
   responsesetHeader(Contentdispositioninline; filename=testdoc); //線上浏覽方式
  // responsesetHeader(Contentdispositionattachment; filename=testdoc);//下載方式
   //以上這行設定傳送到前端浏覽器時的檔名為testdoc
   //就是靠這一行讓前端浏覽器以為接收到一個word檔
%>
//然後輸出動態內容就可以得到一個word文檔了
 
打開
)文件頭上加<%@ page  contentType=application/msword%> 
xml文件裡
<mimemapping>
        <extension>doc</extension>
        <mimetype>application/msword</mimetype>
</mimemapping>
)可以用js以下代碼來自引用
<%@ page contentType=text/html;charset=gb import= javaio*%>
<HTML>
<script>
var wrd=new ActiveXObject(WordApplication)
wrdvisible=true
alert (您的+wrdApplicationCaption+安裝路徑為\n+wrdApplicationPath+\n版本號是+ wrdApplicationversion+\n注冊使用者是+wrdApplicationUserName)
wrdDocumentsAdd()
//wrdDocumentsOpen(c:\\examdoc)
wrdSelectionTypeText(This is some text)
wrdApplicationActivate()
wrdActiveDocumentSaveAs(c:\\examdoc)
wrd=null
</script>
</HTML>
 
下載
<%@ page contentType=text/html;charset=gb import= javaio*%>
<%// 得到文件名字和路徑
  String filename = jspdoc;
  String filepath = C:\\;
 
  // 設置響應頭和下載保存的文件名
  responsesetContentType(APPLICATION/OCTETSTREAM);
  responsesetHeader(ContentDispositionattachment; filename=\ + filename + \);
 
  // 打開指定文件的流信息
  javaioFileInputStream fileInputStream = new javaioFileInputStream(filepath + filename);
  //FileOutputStream out  = new FileOutputStream(filepath+測試\\ + filename);
  // 寫出流信息
  int i;
  while ((i=fileInputStreamread()) != ) {
   outwrite(i);
  }
  fileInputStreamclose();
  outclose();
 %> 


From:http://tw.wingwit.com/Article/program/Java/gj/201311/27570.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.