`

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对各种文件操作.txt

    java java对文件的操作 java操作文件 java java对文件的操作 java操作文件

    Java对各种文件的操作详解

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

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

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

    java 对excel文件操作

    包含java对excel读写和工作表读写,完整的java代码和需要的jar文件

    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操作Excel文件

    java操作Excel文件java操作Excel文件java操作Excel文件java操作Excel文件java操作Excel文件java操作Excel文件java操作Excel文件

    自己写的java对xml文件操作的类

    自己写的java对xml文件操作的类 包含了对xml文件的读取,对属性和值的读取 对元素的增加,删除

    java操作共享文件

    java读取共享文件使用jcifs-1.1.11.jar 的SmbFile 类使用用户名密码共享目录操作共享文件

    JAVA 对文件夹操作

    JAVA 对文件操作 JAVA 对文件操作 JAVA 对文件操作 JAVA 对文件操作

    用java对文件进行操作

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

    java实现文件的读写操作

    java实现文件读写操作,小例子,供大家参考

    Java中对文件的操作

    java中提供了io类库,可以轻松的用java实现对文件的各种操作。 1。新建目录 String filePath="c:/aaa/"; filePath=filePath.toString();//中文转换 java.io.File myFilePath=new java.io.File(filePath); if(!...

    java文件操作总结

    java文件操作总结  详细介绍 java对文件的操作  每个都有对应的例子

    java视频教程—Java文件操作

    java视频教程 Java文件操作 JavaFile

    Java文件操作大全

    Java文件操作大全

    java 文件操作相关命令

    io java 文件操作 命令 全部 io java 文件操作 命令 全部 io java 文件操作 命令 全部 io java 文件操作 命令 全部

    java操作CSV文件

    该文档主要介绍java如何操作csv文件,在这里介绍了一个工具包的使用,也黏贴了java对于读取csv文件和写入csv文件时,对于大数据量的处理和安排,有效的解决了处理大数据是内存溢出问题

    java文件和文件夹操作大全

    内容包括java语言对文件和文件夹的各种操作

Global site tag (gtag.js) - Google Analytics