您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页Java对各种文件的操作详解

Java对各种文件的操作详解

来源:华佗小知识
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.create ();

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(\"

\"+byteread+\"
\"); 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;iFileInputStream 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\ //循环取出流中的数据 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(\"/images/XrssFile/2006-11/21/20061121213739.gif\"); byte[] buffer =new byte[1444];

while ((byteread=inStream.read(buffer))!=-1) {

out.println(\"

\"+byteread+\"
\"); 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+\"
\"; }

out.println(resultString); myFileReader.close(); %>

对word文档的处理(上传与下载)

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

response.setHeader(\"Content-disposition\线上浏览方式 // response.setHeader(\"Content-disposition\下载方式 //以上这行设定传送到前端浏览器时的档名为test1.doc //就是靠这一行,让前端浏览器以为接收到一个word档 %>

//然后输出动态内容就可以得到一个word文档了 1,打开:

1)文件头上加:<%@ page contentType=\"application/msword\"%> xml文件里:

doc

application/msword

2)可以用js,以下代码来自引用:

<%@ page contentType=\"text/html;charset=gb2312\" import= \"java.io.*\"%>

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\

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

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

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务