从文件里读数据,然后返回 byte[]型数据,说的够明白吗?
如果不明白看这个题目,就是做这个时碰到的问题啊:
类FileUtil提供了常见的文件操作函数,如读取文件内容到byte[]、将byte[]存到指定文件名等:
public class FileUtil{
    public static byte[] loadFileData(String fileName) throws IOException;
    public static void saveDataToFile(String fileName, byte[] data) throws  IOException;
}
saveDataToFile的参数fileName可以带路径,如果不存在该路径,需建立文件夹后再存文件。

解决方案 »

  1.   

    比如:
    文件abc.txt中的内容是:a b c
    当读文件的时候把a b c读出来,我打算用reaLine实现(当然可以用别的),读出来后把a b c赋给byte[]型的变量tmp,请问1:"byte[] tmp = new byte[]{};"这样声明对吗?如果不对该如何声明呢?
    2:怎么把读过来的数据赋给tmp呢?前提是并不知道文件中只有3个字符,也许很多个啊
    问题补充完毕,这下明白了么?
    能帮忙回答下么?
      

  2.   


    public class FileUtil {

    public static byte[] loadFileData(String fileName)
    throws IOException {

    File file = new File(fileName);

    byte[] buffer = new byte[(int) file.length()];
    InputStream inputStream = null;
    try {
    inputStream = new FileInputStream(file);
    inputStream.read(buffer);

    System.out.println(file.length());
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } finally {
    inputStream.close();
    }


    return buffer;
    }
        public static void saveDataToFile(String fileName, byte[] data)
         throws IOException{
        
         String dirString = fileName.substring(0,
         fileName.lastIndexOf(File.separatorChar));
        
         File file = new File(dirString);
        
         if(!file.exists())
         file.mkdirs();
        
         OutputStream outputStream = null;
         try {
    outputStream = new FileOutputStream(fileName);
    outputStream.write(data);
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } finally{

    outputStream.close();

    }
        
    }
        
        public static void main(String[] args){
        
         try {
    saveDataToFile("E:\\temp\\hehe\\newFile.txt",
    loadFileData("E:\\temp\\oldFile.txt"));
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
        
        }

    }