常用文件操作方法

1.inputsream对象转字节数组方法
public static byte[] toByteArray(InputStream in) throws IOException {
ByteArrayOutputStream out=new ByteArrayOutputStream();
byte[] buffer=new byte[1024*4];
int n=0;
while ( (n=in.read(buffer)) !=-1) {
    out.write(buffer,0,n);
}
return out.toByteArray();
}



2.读取远程文件保存到本地

/**
 * 下载远程文件并保存到本地
 *
 * @param remoteFilePath 远程文件路径
 * @param localFilePath  本地文件路径
 */
public boolean downloadFile(String remoteFilePath, String localFilePath) {
    URL urlfile = null;
    HttpURLConnection httpUrl = null;
    BufferedInputStream bis = null;
    BufferedOutputStream bos = null;


    try {
        File f = new File(localFilePath);
        File parent = f.getParentFile();
        if(parent!=null&&!parent.exists()){
            parent.mkdirs();
        }
        f.createNewFile();
        urlfile = new URL(remoteFilePath);
        httpUrl = (HttpURLConnection) urlfile.openConnection();
        httpUrl.connect();
        bis = new BufferedInputStream(httpUrl.getInputStream());
        bos = new BufferedOutputStream(new FileOutputStream(f));
        int len = 2048;
        byte[] b = new byte[len];
        while ((len = bis.read(b)) != -1) {
            bos.write(b, 0, len);
        }
        if(bis!=null){
            bis.close();
        }
        bos.flush();

        httpUrl.disconnect();
    } catch (Exception e) {
        e.printStackTrace();
        return  false;
    } finally {
        try {
            if(bis!=null){
                bis.close();
            }
            if(bos!=null){
                bos.close();
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return true;
}

 String result = "";
        DefaultHttpClient httpclient = new DefaultHttpClient();
        HttpGet httpget = new HttpGet(url);
        try {
            HttpResponse response = httpclient.execute(httpget);
            HttpEntity entity = response.getEntity();
            // 显示结果
            BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent(), "UTF-8"));

            String line ;
            while ((line = reader.readLine()) != null) {
                result = line;
            }

                entity.consumeContent();

        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

  

猜你喜欢

转载自programmerwind.iteye.com/blog/2226158