`
todayapple
  • 浏览: 41058 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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.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.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=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("<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=gb2312"%>
<%@ 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=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();
%>  </P>



</P>
分享到:
评论

相关推荐

    java实现对文件的各种操作的工具类.md

    # java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...

    JAVA代码实现远程操作服务器文件

    Session是一个远程服务器文件操作的会话,可以实现文件的移动、复制、删除等操作。通过使用Session,可以实现远程服务器文件的操作。 6. 使用InputStream和BufferedReader实现命令执行结果的获取 InputStream和...

    java实现windows文件系统操作监控

    以上就是实现"java实现windows文件系统操作监控"所需的主要知识点,包括系统钩子、JNI、文件系统API、事件处理、文件操作、加密算法、多线程和异常处理等。在实际开发中,需要根据具体需求进行适当的调整和优化,以...

    使用Java实现对dbf文件的简单读写

    使用 Java 实现对 dbf 文件的简单读写 Java 是一种广泛使用的编程语言,对于读写 dbf 文件具有重要的应用价值。本文将介绍使用 Java 实现对 dbf 文件的简单读写,包括读写 dbf 文件的基本步骤、相关类的介绍、代码...

    Java实现的小型文件管理系统

    文件批量处理用(Eclipse)Java实现,模块为了方便管理文件而设计,通过本模块可以快速地实现文件的批量复制、批量删除、批量重命名、文件分类等。内含设计文档,包括使用说明。还有打包好的可运行的jar文件。

    JAVA Socket编程实现文件上传

    此外,对用户输入的文件名进行验证,防止恶意文件操作或SQL注入攻击。 9. **优化**:为了提高文件传输效率,可以采用缓冲区技术,一次性读取和写入较大块的数据,减少网络IO操作次数。另外,可以考虑使用NIO(Non-...

    ajax实现java文件下载

    为了克服这一问题,开发人员通常会利用Ajax技术来实现异步文件下载,使得用户在下载文件的同时仍能保持页面的正常操作。本话题将详细探讨如何通过Ajax实现Java文件的下载,并介绍相关的核心概念和技术。 1. **Ajax*...

    java实现的文件管理系统

    9. **异常处理**:文件操作过程中可能会出现各种异常,如文件不存在、权限不足等。因此,合理的异常处理至关重要,以确保程序的稳定性和用户体验。 10. **设计模式**:为了提高代码的可维护性和可扩展性,可以采用...

    java实现文件加密解密

    "java实现文件加密解密" Java 实现文件的加密与解密是指利用 Java 语言将资源文件(包括图片、动画等类型)进行简单的加密和解密。这种策略的原因和好处是将准备好的资源存储在云上,使用时通过网络进行读取即可,...

    Java实现实时监控目录下文件变化的方法

    Java实现实时监控目录下文件变化的方法是指通过Java语言来实现实时监控目录下文件的变化情况,包括文件的创建、删除、修改等操作。这种方法可以应用于各种场景,例如文件系统监控、数据备份、文件同步等。 知识点1...

    java实现Xml文件读写

    本项目“java实现Xml文件读写”提供了一个完整的工程实例,包含了对XML文件进行添加、修改和读取的基本操作。 首先,要实现XML文件的读取,Java提供了`javax.xml.parsers`和`org.w3c.dom`这两个核心包。其中,`...

    Java实现多个wav文件合成一个的方法示例

    Java实现多个wav文件合成一个的方法示例 本文介绍了Java实现多个wav文件合成一个的方法,...本文介绍了Java实现多个wav文件合成一个的方法,涉及java文件流读写、编码转换、解析等相关操作技巧,希望对大家有所帮助。

    java实现大文件上传并有进度条及其代码解析

    本文将详细介绍如何使用Java实现大文件的上传并展示进度条,同时解析相关的代码实现。 1. **大文件分块上传** 大文件上传的关键在于避免一次性加载整个文件到内存,因为这可能导致内存溢出。Java中,我们可以使用`...

    操作系统模拟实现Windows文件资源管理器源码+项目说明(Java语言).zip

    操作系统模拟实现Windows文件资源管理器源码+项目说明(Java语言).zip操作系统模拟实现Windows文件资源管理器源码+项目说明(Java语言).zip操作系统模拟实现Windows文件资源管理器源码+项目说明(Java语言).zip...

    java实现pdf上传,下载,在线预览,删除,修改等功能

    这里我们将深入探讨这些功能的实现,并结合标签`java xpdf java实现pdf`来讨论XPDF库在Java中的应用。 1. **PDF上传**: PDF上传通常涉及用户通过Web界面或API接口提交PDF文件。Java中,可以使用Apache Commons ...

    用java实现文件拷贝

    Java实现文件拷贝的小程序 本资源是一个使用Java语言实现文件拷贝的小程序,具有很实用的功能。下面是对这个小程序的详细解释和知识点总结: 文件拷贝的基本概念 文件拷贝是将一个文件的内容复制到另一个文件中,...

    java 实现上传文件到远程服务器

    本篇文章将详细介绍如何利用Java编程语言结合Spring MVC框架来实现文件的远程上传功能。具体实现过程中,我们会采用HTTP协议中的`POST`方法,并通过`multipart/form-data`编码格式来传输数据。 #### 关键概念和技术...

    java实现pdf文件的电子签字+盖章+防伪二维码+水印+PDF文件加密

    总而言之,Java结合iText库可以实现一套完整的PDF处理方案,包括电子签字、盖章、防伪二维码、水印和文件加密,为PDF的安全使用提供了强大的支持。在实际项目中,这些功能可以根据业务需求进行灵活组合和定制,以...

    java操作mongodb存储文件实例

    将一系列图片文件存储到MongoDB中 java操作mongodb存储文件

    java操作mongoDB实现文件上传预览打包下载

    对于"java操作mongoDB实现文件上传预览打包下载"这个主题,我们将深入探讨如何利用Java与MongoDB交互,实现文件的上传、下载、预览以及打包下载等功能。 首先,我们需要在Java项目中引入MongoDB的驱动库,通常是...

Global site tag (gtag.js) - Google Analytics