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

作者:梦想年华 日期:2006-09-27字体大小: 小 中 大 一个用java实现对文件的操作。完成了如创建目录及文件,复制目录及文件以及删除等功能。主要用到了java的File类,FileInp...
  • rimoer
  • rimoer
  • 2007年04月06日 17:25
  • 297

用Java操作文件

** * Java对文件的基本操作 */package file;import java.io.*;public class FileClass {    //private String sFile...
  • xiaoxiaohai123
  • xiaoxiaohai123
  • 2007年08月10日 13:20
  • 411

java io操作文件

初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见...
  • qq_15265667
  • qq_15265667
  • 2015年08月11日 14:49
  • 433

java语言中对文件基本的读写操作

/*   注意要先创建好文件 */ package File; import java.io.*; public class CopReadWriteFile {  public stati...
  • qq_27252133
  • qq_27252133
  • 2016年08月10日 19:49
  • 436

让你提前认识软件开发(22):shell脚本中的文件操作

第1部分 重新认识C语言shell脚本中的文件操作 【文章摘要】        编写shell脚本时,经常会涉及到对文件的操作,比如从文件中读取一行数据、向文件追加一行数据等。完成文件读写操作的方法有...
  • zhouzxi
  • zhouzxi
  • 2014年05月17日 20:49
  • 2639

java操作文件

 package usefile;import java.io.FileNotFoundException; import java.io.IOException; import java.io.Fi...
  • chenqi19831112
  • chenqi19831112
  • 2007年09月04日 15:03
  • 332

java中IO对文件操作

本文转载自很多作者 JAVA 中的IO流 1.首先得搞清楚流的概念:    一个流,它有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个UR...
  • abc19900828
  • abc19900828
  • 2012年08月02日 14:45
  • 6740

JAVA 操作文件

public class demo { public static void main(String[] args) { //boolean result =createFile("D:\\3...
  • Allen_liyu
  • Allen_liyu
  • 2017年08月15日 17:45
  • 58

Java操作文件

import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;...
  • cqcjcc123
  • cqcjcc123
  • 2007年07月26日 11:35
  • 322

JAVA操作文件

package com.file; import java.io.*; public class TestFile2 { /** * @param args */ ...
  • shandiantianying
  • shandiantianying
  • 2013年07月17日 17:33
  • 358
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Java操作文件
举报原因:
原因补充:

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