`

用Java操作文件

    博客分类:
  • j2ee
阅读更多
用Java操作文件
一个用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.isFile()){
                    file.toString();
                    FileInputStream input=new FileInputStream(file);
                    FileOutputStream output=new FileOutputStream(s2+"/"+(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();
                }
            }
            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操作Excel文件

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

    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读取共享文件使用jcifs-1.1.11.jar 的SmbFile 类使用用户名密码共享目录操作共享文件

    java读写文件,Java操作文件

    java读写文件的方法,java操作文件

    java操作文件、文件夹

    java操作文件及文件夹 移动、复制、删除文件及文件夹

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

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

    java操作CSV文件

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

    java操作文件工具类

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

    java视频教程—Java文件操作

    java视频教程 Java文件操作 JavaFile

    java 文件操作相关命令

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

    Java文件操作大全

    Java文件操作大全

    java实现文件的读写操作

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

    java文件操作总结

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

    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操作csv文件(读、写)

    在做项目的时候,发现使用POI无法解析以csv文件结尾的文件,虽然csv文件能用Excel打开,但是csv文件没有像Excel一样有规定的电子表格形式,故使用POI无法解析csv文件,在网上找了一下,发现java有提供java csv文件来...

    利用JAVA操作EXCEL文件

    利用JAVA操作EXCEL文件 利用JAVA操作EXCEL文件

    java 操作文件通用方法集合

    java 操作文件通用方法集合,很实用的方法

    java中对文件操作大全

    java中文件操作大全 覆盖大部分对文件操作的基本代码

    java操作dbf文件

    包括java读写dbf文件源码,可改写重用,可用于生成dbf文件或解析dbf文件获取数据。

Global site tag (gtag.js) - Google Analytics