下载工具
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.titan.socialtools.common.utils.Conf;
import com.netease.cloud.ClientConfiguration;
import com.netease.cloud.auth.BasicCredentials;
import com.netease.cloud.auth.Credentials;
import com.netease.cloud.services.nos.NosClient;
import com.netease.cloud.services.nos.model.NOSObject;
public class NosReader {
private static final Logger logger = LoggerFactory.getLogger(NosReader.class);
public static String reader(String name) {
String endpoint = "";
String accessKey = "";
String secretKey = "";
String bucketName = "";
Properties p = null;
try {
p = Conf.getProperties("conf/nos.properties");
endpoint = p.getProperty("NOS.endpoint");
accessKey = p.getProperty("NOS.accessKeyId");
secretKey = p.getProperty("NOS.accessKeySecret");
bucketName = p.getProperty("NOS.bucket");
} catch (IOException e) {
// TODO Auto-generated catch block
logger.error("获取配置文件错误", e);
}
Credentials credentials = new BasicCredentials(accessKey, secretKey);
ClientConfiguration conf = new ClientConfiguration();
// 设置 NosClient 使用的最大连接数
conf.setMaxConnections(200);
// 设置 socket 超时时间
conf.setSocketTimeout(10000);
// 设置失败请求重试次数
conf.setMaxErrorRetry(2);
// 如果要用 https 协议,请加上下面语句
NosClient nosClient = new NosClient(credentials, conf);
nosClient.setEndpoint(endpoint);
//云服务器上的文件位置
NOSObject nosObject = nosClient.getObject(bucketName, "txtfile/" + name + ".txt");
// 流式获取文件内容
InputStream in = nosObject.getObjectContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line = "";
try {
while (true) {
line = reader.readLine();
if (line == null)
break;
System.out.println("\n" + line);
}
} catch (IOException e) {
e.printStackTrace();
}
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return line;
}
public static void main(String[] args) {
System.err.println(reader("文件名称"));
}
}
conf目录下的配置
NOS.endpoint=*
NOS.accessKeyId=*
NOS.accessKeySecret=*
NOS.bucket=*