有没有人能告诉我下 这样读取文件内容并发送的方式可行不?

風中凌乱 2014-11-17 04:24:20
package com.thinkit.test;

import java.io.BufferedInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class ASRInterTest {

public String DoAction(String InFileName) throws Exception {
// DataOutputStream out = null;
String content = "";
String UserID = "userid";
String SequenceID = "1";
String Hash = "Hash";
String SessionID = "ser";
String urlStr = "http://101.95.48.190/yuyin/bstqyzj";
List<BufferedInputStream> data = new ArrayList<BufferedInputStream>();
System.out.print("\nASRInterTest=====InFileName=====>" + InFileName);

FileInputStream outSTr = null;
try {
outSTr = new FileInputStream(new File(InFileName));
System.out.print("\noutSTr" + outSTr.toString());
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
BufferedInputStream Buff = new BufferedInputStream(outSTr);

data.add(Buff);
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Buss-Type", "bst-qyzj");
conn.setRequestProperty("UserID", UserID);
conn.setRequestProperty("SessionID", SessionID);
conn.setRequestProperty("sequenceID", SequenceID);
conn.setRequestProperty("isEnd", "0");
conn.setRequestProperty("AUE", "raw");
conn.setRequestProperty("AUF", "16000");
conn.setRequestProperty("content-Type", "application/audio");
conn.setRequestProperty("VER", "1.0");
conn.setRequestProperty("HASH", Hash);
if (data.size() > 0) {
DataOutputStream ds = new DataOutputStream(conn.getOutputStream());

// out = new DataOutputStream(conn.getOutputStream());

int idx = 1;
int enc_bits = 1;
int iSize = Buff.available();
int fileLen = 0;
try {
fileLen = outSTr.available();
} catch (IOException e1) {
e1.printStackTrace();
}
if (enc_bits > 0) {
byte[] bBuffer = new byte[iSize];
try {
enc_bits = Buff.read(bBuffer);
System.out.println("\nenc : " + enc_bits);
} catch (IOException e) {
e.printStackTrace();
}

ds.write(bBuffer, 0, enc_bits);
}

ds.flush();
// out.flush();
}
System.out.print("\nconn.getResponseCode()=======>"
+ conn.getResponseCode());
if (conn.getResponseCode() == 200) {
InputStream is = conn.getInputStream();
byte[] outbyte = new byte[is.available()];
is.read(outbyte);
System.out.print("\nis.available()=======>" + is.available());
for (int i = 0; i < is.available(); i++) {
content += outbyte[i];

}
// content = is.toString();
}
conn.disconnect();
System.out.print("\ncontent=======>" + content);
return content;

}
}
...全文
213 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweet____ 2014-11-24
  • 打赏
  • 举报
回复
你自己先测试一下,

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧