- 浏览: 1475825 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (523)
- JAVA (334)
- J2EE (18)
- JSP (21)
- JavaScript (14)
- it life (2)
- mobile develop (4)
- UBUNTU (14)
- Algorithm (14)
- DataBase (56)
- Browser/Server (1)
- linux (6)
- fedora (2)
- CSS (1)
- AjAX (3)
- HTML5 (1)
- EJB (1)
- osworkflow (2)
- Java face (5)
- spring (4)
- ICE (1)
- webService (2)
- MongoDB (1)
- JavaThread (4)
- JavaCollections (3)
- Hibernate (2)
- JavaMail (1)
- JavaBasic (1)
- Cache (1)
- https (4)
- DOM4J (1)
- JDOM (0)
- Mybatis (1)
- JUNIT (1)
- eclipse (1)
- easyMock (2)
最新评论
-
yadongliang:
...
自己认为的一些技术点 -
yadongliang:
每次看你头像都看的荷尔蒙分泌失调
WebService的两种方式SOAP和REST比较 (转) -
yadongliang:
hollo 写道一直有这种感觉,盲目的跟风,确实有一些人为了潮 ...
WebService的两种方式SOAP和REST比较 (转) -
welss:
博主,JNative怎么调用dll中的这种方法: int ...
JNative调用DLL -
Java_Antelope:
session.setAttribute和session.getAttribute(
Java中文网 - Java利用io类库对各种文件的操作详解
java中提供了io类库,可以轻松的用java实现对文件的各种操作。下面就来说一下如何用java来实现这些操作。
新建目录
<%@ page contentType="text/html;CHARSET=gbk"%>
<%
//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=gbk"%>
<%@ 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=gbk"%>
<%
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=gbk" %>
<%@ 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=gbk"%>
<%@ 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.isFile()){
file.toString();
FileInputStream input=new FileInputStream(file);
FileOutputStream output=new FileOutputStream(url2+"/"+(file.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=gbk"%>
<%@ 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=gbk"%>
<%@ 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=gbk");
}
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=gbk"%>
<%@ page import="java.text.*,java.util.*,java.net.*,java.io.*"%>
<%
URL stdURL = null;
BufferedReader stdIn = null;
PrintWriter stdOut = null;
try {
stdURL = new URL("<A href="http://www.163.com">http://www.163.com</A>");
}
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=gbk"%>
<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%
int bytesum=0;
int byteread=0;
URL url = new URL("<A href="/UserFiles/2006-12/27/20061227131047684.gif</A>");
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=gbk" %>
<%@ 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=gbk" 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=gbk" 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 中文网(http://www.javaweb.cc/) -Java利用io类库对各种文件的操作详解
java中提供了io类库,可以轻松的用java实现对文件的各种操作。下面就来说一下如何用java来实现这些操作。
新建目录
<%@ page contentType="text/html;CHARSET=gbk"%>
<%
//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=gbk"%>
<%@ 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=gbk"%>
<%
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=gbk" %>
<%@ 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=gbk"%>
<%@ 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.isFile()){
file.toString();
FileInputStream input=new FileInputStream(file);
FileOutputStream output=new FileOutputStream(url2+"/"+(file.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=gbk"%>
<%@ 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=gbk"%>
<%@ 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=gbk");
}
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=gbk"%>
<%@ page import="java.text.*,java.util.*,java.net.*,java.io.*"%>
<%
URL stdURL = null;
BufferedReader stdIn = null;
PrintWriter stdOut = null;
try {
stdURL = new URL("<A href="http://www.163.com">http://www.163.com</A>");
}
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=gbk"%>
<%@ page import="java.io.*"%>
<%@ page import="java.net.*"%>
<%
int bytesum=0;
int byteread=0;
URL url = new URL("<A href="/UserFiles/2006-12/27/20061227131047684.gif</A>");
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=gbk" %>
<%@ 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=gbk" 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=gbk" 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 中文网(http://www.javaweb.cc/) -Java利用io类库对各种文件的操作详解
发表评论
-
Spring官网改版后下载
2014-04-11 10:39 712Spring官网改版后找了好久都没有找到直接下载Jar包的链接 ... -
Java 系统架构设计
2014-03-31 21:18 1442首先分为网关和引擎等多个部分: 第一部分:网关 1、主要负责转 ... -
Java 提高系统性能
2014-03-03 22:22 2573首先是从三方面来提高的,应用层面,服务器端层面,数据库层面。 ... -
2013年11月份艺龙旅行网面试题
2013-11-22 23:39 12241.给你两个字符串s1="abc",s2= ... -
国猪555555555
2013-11-22 00:16 1000国足第一招:场地太差,不适应。 国足第二招:场地太好,不适应。 ... -
自己认为的一些技术点
2013-08-14 00:12 11601.rest风格的编程。 2.memcached的命中率低的问 ... -
HttpClient
2013-01-14 23:57 1009package org.abin.lee.test.http; ... -
JAVA单例模式读取properties配置文件
2012-12-16 01:12 2617前段时间出差去做一个数据接口的项目,有很多参数需要从工程中的配 ... -
Java 反射调用方法
2012-10-22 23:52 946package lc.abin.lee.reflect; i ... -
Java Https单向,双向验证
2012-09-23 22:47 2958https一般来说有单项SSL和双向SSL连接之分。 单项 ... -
Java中的transient,volatile和strictfp关键字
2012-09-12 18:00 792http://www.iteye.com/topic/5295 ... -
Server JBoss v5.0 at localhost was unable to start within 50 seconds.
2012-09-05 11:35 1841[标题]:[转]JBoss was unable to sta ... -
HttpUrlConnection 开发例子
2012-03-25 16:23 3311/*** * * 发送HTTP请求 * @ ... -
Java Enum类型定义的方法
2012-03-12 12:34 2299//枚举接口 package com.abin.info.s ... -
Rational Rose 2003 下载及破解方法
2012-03-06 12:49 1352FROM:http://blog.csdn.net/fengl ... -
使用Spring进行面向切面(AOP)编程
2012-02-22 10:35 23021.aop理论知识 横切性关注点:对哪些方法拦截,拦截后怎么处 ... -
BASE64、MD5、SHA、HMAC几种加密算法
2012-02-21 12:53 8761BASE64编码算法不算是真正的加密算法。 MD5、 ... -
文本文件和二进制文件区别及java中字节流和字符流归纳
2012-02-17 15:48 2950首先在物理上文本文件和二进制文件并没有区别,都是以二进制01的 ... -
Java 字节流转化为文件
2012-02-17 15:46 5647已知:byte[] bytes=new FileToBytes ... -
Java核心之Java内存分配原理
2012-02-17 13:40 929JAVA内存分配与管理是Java的核心技术之一,之前我们曾介绍 ...
相关推荐
Java 的 IO 类库的基本架构:入门级IO类库基础框架介绍,附简单案例
java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解java_IO 详解
Java_IO流详解Java_IO流详解Java_IO流详解
Java教程之javaIO详解Java教程之javaIO详解Java教程之javaIO详解
关于java io技术的详解:IO(Input/Output)是计算机输出/输出的接口。Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出...
java IO操作详细解释 清华大学java io专用教材
Java 中的一些基本文件操作,包括:文件操作(移动、读写)和文本文件读写
java 使用IO流实现文件的复制 java 使用IO流实现文件的复制
java I\O流及文件操作,是初学者很好的资源。
Apache Commons:一个流行的Java类库,提供了许多实用的工具和组件,如Commons Lang(用于处理核心Java类库中的核心类)、Commons IO(用于处理I/O操作)、Commons Collections(提供了许多额外的集合类)等。...
java sdk类库介绍,本章中主要介绍java.io中的内容,使你彻底明白java的输入输出。
java_io_文件操作_复制_删除_移动_下载
JAVA教程 io流操作 JAVA教程 io流操作 JAVA教程 io流操作
文件流 读写操作,对java.io.*;中文件读写的一些相关信息
java io 文件操作大全 目录的建立/检查与删除 如何在JSP中处理虚拟目录 文件属性的取得 取出目录中文件的方法 判断是否为空白文件 读取所有的文件数据 一行一行读取数据 略过文件中的字符不读取 将数据写入文件 将...
深入全面的介绍了java中IO的常用的用法,以及一些使用的注意事项
java新IO文件流java新IO文件流java新IO文件流java新IO文件流java新IO文件流java新IO文件流java新IO文件流
用java对文件操作的一些代码(包括文件读取,移动,删除,复制......)
java IO教程,java IO教程,java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程java IO教程java IO教程java IO教程java IO教程,java IO教程,java IO教程,java IO教程,java IO...
主要介绍了Java基于IO流读取文件的方法,涉及Java文件流操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下