`

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[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

 

分享到:
评论

相关推荐

    java文件操作类

    java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...

    java 操作文件工具类 java 操作文件工具类

    java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java ...

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

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

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

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

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

    Java的`java.nio.file`包提供了丰富的文件操作接口,如`Files.setPosixFilePermissions()`和`Files.newFileChannel()`,可以用来设置权限和创建文件通道进行锁定。 7. **文件自动加密**:文件加密通常涉及对文件...

    用java对文件进行操作

    .java文件,main中有测试用的代码,粘到src下可直接运行使用。 这个版本中目前有的方法为: 1.创建txt文件的方法。 2.过滤文件的方法。 3.修改文件名的方法。 4.获取文件大小,如果是文件夹则统计有多少个文件的方法...

    java视频教程—Java文件操作

    java视频教程 Java文件操作 JavaFile

    JAVA对音频文件处理程序

    本项目“JAVA对音频文件处理程序”聚焦于读取音频文件,执行降分贝操作,然后将处理后的音频保存为新的文件。这里我们将深入探讨相关的关键知识点。 首先,Java提供了一个强大的包`javax.sound.sampled`来处理音频...

    Java写入大数据文件

    在写入和切分文件操作完成后,程序使用singleFileDataSort方法将每个小文件的数据进行排序,以便后续的数据处理操作。最后,程序使用deathDataFile方法对十个小文件的数据进行比较和整合,以提高数据的精度和可靠性...

    java操作mongodb存储文件实例

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

    JAVA对文件夹、文件的各种操作工具类

    JAVA对文件夹、文件的各种操作,创建文件夹,删除文件夹,创建文件,删除文件,复制文件等

    java 解析 json文件 java 解析 json文件

    在这个例子中,`MyObject`是你自定义的Java类,它的属性对应于JSON文件中的键值对。 三、使用Gson解析JSON 使用Gson解析JSON的基本步骤类似: ```java import com.google.gson.Gson; import java.io.FileReader; ...

    SAX.java 操作xml文件

    SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件SAX.java 操作xml文件

    java properties文件操作工具类,可追加修改

    此工具类只用于Java后端在操作Properties文件的时候写的工具类,方便properties文件的存取操作

    java文件读写操作

    这个文件里面包含了java的IO流对文件的操作和java通道加内存映射对文件操作的源码

    java文件操作工具类

    java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。

    Java文件操作封装类

    Java文件操作封装类

    Java 读取、添加、删除修改json文件数据范例.rar

    Java 操作json文件的例子,对json数据进行读娶添加、删除、修改等操作,下载源码后,重点参见JsonConvert.java文件,  读取nameID.txt文件中的NAMEID字段(key)对应值(value)并存储,读取NAMEID对应值,读取原始...

    Java对各种文件的操作详解

    Java对各种文件的操作详解,要的快下哦

    java文件操作大全

    如何在Java中操作文件呢?转载供大家欣赏

Global site tag (gtag.js) - Google Analytics