读写文件的几种方法(从本地读取到服务器)

1、用BufferReader和BufferWriter

String fromFile = "D:/images/test.jpg";
  String toFile = signid + "" + count + fromFile.substring(fromFile.lastIndexOf("."),fromFile.length());
  String filePath = session.getServletContext().getRealPath("/") + "email/mailinfo/images/";
  try{
  BufferedReader readChar = new BufferedReader(new FileReader(fromFile));
  BufferedWriter buffer=new BufferedWriter(new FileWriter(filePath + toFile));
  String line = "";
  while((line = readChar.readLine()) != null){
   buffer.write((line + "/n").toCharArray());
   System.out.println(line);
   buffer.flush();
  }
  readChar.close();
  buffer.close();
  }catch(Exception e){
   e.printStackTrace();
  }


2、用FileInputStream和FileOutputStream
  
  FileInputStream input = new FileInputStream(new File(fromFile));
     FileOutputStream output = new FileOutputStream(
            new File(filePath + toFile));
     int b;
     while (true) {
      byte[] buffer = {};
         if (input.available() < 1024) {
             while ((b = input.read()) != -1) {
                 output.write(b);
             }
             break;
         } else {
             input.read(buffer);
             output.write(buffer);
         }
     }
     input.close();
     output.close();

3、用FileChannel(要引入java.nio.channels包)
  FileInputStream input = new FileInputStream(fromFile);                   
  FileOutputStream output = new FileOutputStream(filePath + toFile);
  FileChannel infileChannel = input.getChannel();  
  FileChannel outfileChannel = output.getChannel();  
  long size = infileChannel.size();  
  infileChannel.transferTo(0, size, (WritableByteChannel)outfileChannel);   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值