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对各种文件的操作详解,要的快下哦
### Java中文件操作详解 #### 一、获取控制台用户输入信息 在Java中,获取控制台用户输入信息是一项基本但重要的操作。如标题“Java中文件操作大全”所示,其中一个示例方法`getInputMessage()`用于从控制台读取...
标题中的"MANIFEST.MF 文件内容详解(转)"是指一篇关于理解Java应用程序的MANIFEST.MF文件的文章。MANIFEST.MF文件是Java档案(JAR)文件格式的一部分,它包含了有关JAR文件元数据的重要信息。这篇博文可能是从其他...
Java无需解压直接读取Zip文件和文件内容是Java语言中的一种常见操作,通过使用java.util.zip包中的ZipFile、ZipInputStream和ZipEntry类,我们可以轻松地读取Zip文件和文件内容。下面,我们将详细介绍如何使用Java...
### Java打包成可执行文件步骤详解 在Java开发过程中,将编写好的程序打包成一个可执行文件是非常常见的需求。这不仅方便程序的分发与部署,还能提高程序的可用性。本文将通过一个具体的示例来详细介绍如何将Java...
### Java操作Excel详解 #### 一、Java Excel API简介 Java Excel API是一个强大的开源库,允许开发者...通过以上步骤,可以有效地使用Java操作Excel文件,无论是读取、写入还是更新操作,都可以灵活应对各种需求。
### Java对MHT文件解析及内容抓取技术详解 #### 一、引言 MHT(Mime HTML)文件是一种将HTML文档与嵌入资源(如图像、样式表等)合并为一个文件的格式,方便在网络上传输。本文将详细介绍如何使用Java语言解析MHT...
Java 读写 JSON 格式的文件方法详解 本文主要讲解了如何在 Java 中读写 JSON 格式的文件,解决了在实际应用中常见的问题。首先,需要了解什么是 JSON 格式,JSON 格式是一种轻量级的数据交换格式,易于人类阅读和...
### Java文件操作详解 #### 一、Java文件操作概述 在Java中,处理文件和I/O操作主要是通过`java.io`包来实现的。这个包提供了大量的类和接口,用于实现基本的文件输入/输出操作,如读取文件、写入文件、创建文件或...
使用 separator 可以实现跨平台的文件操作。 2. mkdir/mkdirs 方法:创建目录 File 类提供了 mkdir 和 mkdirs 方法,用于创建目录。mkdir 方法用于创建单个目录,而 mkdirs 方法用于创建多个目录。 3. ...
Java 中的 IO 流是指在 Java 语言中对输入输出操作的抽象,主要用于实现程序与外部设备和其他计算机之间的交流,尤其是对磁盘文件的操作。IO 流的概念是在 1984 年由 C 语言第一次引入的,后来被 Java 语言所采用。 ...
在Java编程语言中,文件操作是一项基础且至关重要的任务,涉及到读取、写入、创建、删除等操作。本文将详细解析Java中的文件操作,并基于给出的资源进行深入讲解。 首先,`java.io`包提供了丰富的类来处理输入/输出...
Java文件操作和文件流的详解 Java文件操作和文件流是Java编程语言中最基本的操作之一。文件操作是指对文件的创建、删除、读取和写入等操作,而文件流是指从文件中读取或写入数据的过程。 一、创建文件 在Java中,...
Java中的目录操作详解 Java提供了多种方式来进行目录操作,例如创建、删除、遍历等。这些操作可以通过使用Java的标准库中的java.nio.file包和java.io包来实现。 目录创建 Java提供了两种方式来创建目录:使用java...
在Java中,输入输出流是进行文件读写操作的基础,通过理解和掌握`java.io`包中的类体系结构,开发者可以更加灵活地处理各种文件操作。无论是简单的文件读写还是复杂的网络通信,都能够基于这些基础构建出高效的应用...
《精通Hibernate:Java对象持久化技术详解》这本书深入剖析了Hibernate这一流行的Java对象关系映射(ORM)框架,旨在帮助开发者全面理解并熟练掌握Hibernate的使用。Hibernate是Java开发中的重要工具,它简化了...
#### 3.2 文件操作示例 - **获取文件名称**:`getOriginalFilename()`方法可以获取原始文件名。 - **转换文件类型**:通过类型转换,可以进一步操作文件,如将其转换为`CommonsMultipartFile`或`DiskFileItem`等...