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(); %> 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(); %> 截取在线编辑器的字符串怎么处理 | 总结性知识:107