用Java操作文件

转载 2007年09月14日 23:08:00

一个用java实现对文件的操作。完成了如创建目录及文件,复制目录及文件以及删除等功能。
主要用到了java的File类,FileInputStream类,FileOutputStream,FileWriter,PrintWriter,InputStream,OutputStream ,BufferedReader和FileReader等相关类。
程序在某些方的实现可能存在一些问题,欢迎各位提出指正。 

程序代码
/**
 * Java对文件的基本操作
 * @author 梦想年华
 * Copyright (C) 2005 自由时代 All right reserved.
 * Email:fanwsp@126.com
 */
package file;
import java.io.*;
public class FileClass {
    //private String sFileName;
    //private String sFolderName;
    String sPath;
    String sFilePath;
    String sContent;
    
        /********************
         * 新建目录
         *******************/
        public boolean newFolder(String s)
        {
            sPath = s;
            sPath = sPath.toString();//中文转换
            //创建一个File(文件)对象
            File myFilePath = new File(sPath);
            if(!myFilePath.exists())
            {
                try
                {    
                    myFilePath.mkdirs();
                    return true;
                }catch(Exception e)
                {
                    e.printStackTrace();
                    return false;
                }
            }
            else return false;
        }
        
        /********************
         * 新建文件
         *******************/
        public boolean newFile(String s1,String s2)
        {
            sFilePath = s1;
            sContent = s2;
            sFilePath = sFilePath.toString();
            File myFilePath = new File(sFilePath);
            if(!myFilePath.exists())
            {
                try
                {    
                    myFilePath.createNewFile();
                    FileWriter resultFile=new FileWriter(myFilePath);
                    PrintWriter myFile=new PrintWriter(resultFile);
                    String sContent = s2.toString();
                    myFile.println(sContent);
                    myFile.close();
                    resultFile.close();
                    return true;
                }catch(Exception e)
                {
                    e.printStackTrace();
                    return false;
                }
            }
            else return false;
        }
        
        /********************
         * 删除文件
         *******************/
        public boolean delFile(String s)
        {
            sFilePath = s;
            sFilePath = sFilePath.toString();
            File dFile = new File(sFilePath);
            if(dFile.exists())
            {
                try
                {    
                    dFile.delete();
                    return true;
                }catch(Exception e)
                {
                    e.printStackTrace();
                    return false;
                }
            }
            else 
            {
                System.out.print("文件:" + s + "不存在!");
                return false;
            }
        }
        
        /********************
         * 复制文件
         *******************/
        public boolean copyFile(String s1,String s2)
        {
            int bytesum=0;
            int byteread=0;
            //file:读到流中
            try
            {
                InputStream inStream=new FileInputStream(s1);
                FileOutputStream fs=new FileOutputStream(s2);
                byte[]  buffer =new  byte[1444];
                while ((byteread=inStream.read(buffer))!=-1)
                {
                   System.out.println("--  "+byteread+" --");
                   bytesum+=byteread;
                   System.out.println(bytesum);
                   fs.write(buffer,0,byteread);
                } 
                inStream.close(); 
                fs.close();
                return true;
            }catch(Exception e)
            {      
                return false;
                }
        }
        
        /********************
         * 复制文件夹
         *******************/
        public boolean copyFolder(String s1,String s2)
        {
        try{
            (new File(s2)).mkdirs();
            File[] file=(new File(s1)).listFiles();
            for(int i=0;ifile.length;i++)
            {
                if(file[i].isFile()){
                    file[i].toString();
                    FileInputStream input=new FileInputStream(file[i]);
                    FileOutputStream output=new FileOutputStream(s2+"/"+(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();
                }
            }
            return true;
         }catch(IOException e){
             e.printStackTrace();
             return false;
             }
        }
        
        /********************
         * 得到文本文件的内容
         *******************/
        public String getFile(String s1)
        {
        try{
            StringBuffer sb = new StringBuffer();
            BufferedReader in = new BufferedReader(new FileReader(s1));
            while(in.readLine()!=null){
                sb.append(in.readLine()+"/n/r");
            }
            return sb.toString();
         }catch(IOException e){
             e.printStackTrace();
             return null;
             }
        }
        
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO 自动生成方法存根
        String s1="";
        String s2="";
        FileClass file1 = new FileClass();
        //目录创建测试
        s2="F:/Test/Test1";
        if (file1.newFolder(s2))
            System.out.println("创建目录 " + s2 + " 成功!");
        else
            System.out.println("创建目录 " + s2 + " 失败!!");
        
        //文件创建测试
        s1="F:/Test/Test1/Test.txt";
        s2="这是一个测试文件!";
        file1.delFile(s1);
        if (file1.newFile(s1,s2))
            System.out.println("创建文件 " + s1 + " 成功!");
        else
            System.out.println("创建文件 " + s1 + " 失败!!");
        System.out.print("/n"+s2);
        
        //文件删除测试
        s1="F:/Test/Test1/Test.txt";
        if (file1.delFile(s1))
            System.out.println("删除文件 " + s1 + " 成功!");
        else
            System.out.println("删除文件 " + s1 + " 失败!!");
        
        //复制文件测试
        s1="F:/Test/Test1/Test.txt";
        s2="F:/Test/Test1/Test1.txt";
        if (file1.copyFile(s1,s2)) 
            System.out.print("把文件 "+s1+"成功复制到 "+s2);
        else System.out.print("复制文件失败!");
        
        //复制目录测试
        s1="F:/Test/Test1";
        s2="F:/Test/Test2";
        if (file1.copyFolder(s1,s2)) 
            System.out.print("把文件夹 "+s1+" 成功复制到文件夹 "+s2);
        else System.out.print("复制文件夹失败!");
        
        //得到文件内容测试
        System.out.print(file1.getFile("F:/Test/Test1/Test1.txt"));
        
    }
}

java操作word需要的jar和dll文件

  • 2015年08月04日 15:04
  • 62KB
  • 下载

java7 NIO2(3) 文件链接操作

java 7 NIO2中文件系统支持软链接,硬链接的API, import java.io.IOException; import java.nio.file.FileSystems; import...

java写入文件操作的几种方法

  • 2015年04月15日 21:12
  • 16KB
  • 下载

java 操作文件

  • 2015年01月23日 17:02
  • 11KB
  • 下载

Java对zip文件的各种操作

package com.jadlsoft.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputS...

用java写的本地文件操作

  • 2013年07月22日 15:03
  • 1KB
  • 下载

Java包与文件操作

  • 2013年06月24日 12:42
  • 3KB
  • 下载

java的输入输出流与文件操作(2.读入写出及关流)

1.如何读取文件。 可以一个字节一个字节的读,也可以使用缓冲,一块一块数据的读。 一般使用第二种,因为比较快。 @Test public void TestRead() throws IOExcep...

java的文件操作汇总

  • 2013年09月22日 16:08
  • 46KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Java操作文件
举报原因:
原因补充:

(最多只允许输入30个字)