日期:2014-05-20  浏览次数:20755 次

File类求助(2)
Java code

import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileUtil
{
    public static byte[] loadFileData(String fileName) throws IOException
    {
        File file=new File(fileName);
        byte[] b=new byte[(int)file.length()];
        if(file.exists())
        {
            FileInputStream input=new FileInputStream(file);            
            int temp=0;                
            for(int i=0;i<b.length;i++)
            {
                b[i]=(byte)input.read();
            }
            input.close();        
          }    
          else
          {
              System.out.println("要复制的文件不存在");
          }
          
          return b;    
    }
    public static void saveDataToFile(String fileName, byte[] data) throws IOException
    {
        File file=new File(fileName);      
        if(file.getParent()==null)
        {
            writeFile(new FileOutputStream(new File(fileName+File.separator+"输入的是根目录.txt")),data);        
        }      
        if(!file.exists())
        {
            if(file.getName().indexOf(".")==-1)
            {
                file.mkdirs();
                writeFile(new FileOutputStream(new File(fileName+File.separator+"输入的是目录.txt")),data);            
            }   
            else
            {
                file.getParentFile().mkdirs();
                writeFile(new FileOutputStream(file),data);                         
            }         
        }    
        else
        {
            System.out.println("文件存在了啊!");//当文件存在的时候为什么还覆盖文件呢?都跳到这了,为什么文件还会被重新写?
        }    
    }
    public static void main(String[] args) throws Exception
    {        
        saveDataToFile("e:\\",loadFileData("C:\\1.txt"));
    }
    public static void writeFile(OutputStream output,byte[] data) throws IOException
    {
        for(int i=0;i<data.length;i++)
        {
            output.write(data[i]);
        }   
        output.close();     
    }
}



------解决方案--------------------
if(!file.exists())

肯定走else的嘛

什么覆写
------解决方案--------------------
Java code
        saveDataToFile("e:\\",loadFileData("C:\\1.txt"));

------解决方案--------------------
java 一定要心细。慢慢磨练