java中提供了io类库,可以轻松的用java实现对文件的各种操作。下面就来说一下如何用java来实现这些操作。
生成文件时,可用下边的方法来设置流的编码
PrintWriter myFile =new PrintWriter(new OutputStreamWriter(new FileOutputStream(文件名),"gb2312"));
新建目录
- <%@ 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("<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="http://pimg.163.com/sms/micheal/logo.gif">http://pimg.163.com/sms/micheal/logo.gif</a>");
- 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+"
- ";
- }
- 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.*"%>
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 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java 操作文件工具类 java 操作文件工具类java 操作文件工具类java ...
java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java文件操作类java...
java视频教程 Java文件操作 JavaFile
要使用SmbFile类,首先需要创建一个SmbFile对象,指定共享文件的URL,然后通过这个对象进行文件操作。以下是一个简单的示例,展示如何读取共享文件: ```java import jcifs.smb.SmbFile; import java.io....
# java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...
此工具类只用于Java后端在操作Properties文件的时候写的工具类,方便properties文件的存取操作
Session是一个远程服务器文件操作的会话,可以实现文件的移动、复制、删除等操作。通过使用Session,可以实现远程服务器文件的操作。 6. 使用InputStream和BufferedReader实现命令执行结果的获取 InputStream和...
Java的`java.nio.file`包提供了丰富的文件操作接口,如`Files.setPosixFilePermissions()`和`Files.newFileChannel()`,可以用来设置权限和创建文件通道进行锁定。 7. **文件自动加密**:文件加密通常涉及对文件...
首先,我们需要了解Java中用于文件操作的基本类,如`java.io.File`,它提供了创建、读取、写入和删除文件的方法。此外,为了与SharePoint交互,我们需要使用Microsoft提供的客户端对象模型(Client Object Model,...
Java 文件操作是 Java 编程语言中的一种基本操作,包括文件的移动、复制、删除、剪切等。下面是关于 Java 文件操作的知识点总结: 一、文件移动 文件移动是指将文件从一个目录下移到另一个目录下。在 Java 中,...
如何在Java中操作文件呢?转载供大家欣赏
将一系列图片文件存储到MongoDB中 java操作mongodb存储文件
java文件操作工具类是java中针对文件操作的一个工具类,可以方便的读取,下载,上传文件等操作,希望可以帮到大家。
在Java编程中,判断文件类型通常不是通过文件扩展名,而是通过读取文件的头部字节来识别。这是因为有些文件可能...理解并掌握这个方法,能够帮助我们在实际开发中更好地处理各种文件操作,提高程序的健壮性和安全性。
Java文件操作封装类
这个文件里面包含了java的IO流对文件的操作和java通道加内存映射对文件操作的源码
在写入和切分文件操作完成后,程序使用singleFileDataSort方法将每个小文件的数据进行排序,以便后续的数据处理操作。最后,程序使用deathDataFile方法对十个小文件的数据进行比较和整合,以提高数据的精度和可靠性...
总结起来,Java提供了丰富的API来处理文件操作,包括分割大文件。通过结合`FileInputStream`、`FileOutputStream`以及适当的逻辑,我们可以根据文件大小或时间间隔来分割大文件。在实际开发中,应根据具体需求调整...