在工作中遇到读取地址文件数据:
1、读取本地文件数据(如:D:\data.txt)
//适用于读取绝对地址文件
public String getData(String path) {
String str = "";
try {
File file = new File(path);// 定义一个file对象,用来初始化FileReader
FileReader reader = new FileReader(file);// 定义一个fileReader对象,用来初始化BufferedReader
BufferedReader bReader = new BufferedReader(reader);// new一个BufferedReader对象,将文件内容读取到缓存
StringBuilder sb = new StringBuilder();// 定义一个字符串缓存,将字符串存放缓存中
String s = "";
while ((s = bReader.readLine()) != null) {// 逐行读取文件内容,不读取换行符和末尾的空格
sb.append(s + "\n");// 将读取的字符串添加换行符后累加存放在缓存中
System.out.println(s);
}
bReader.close();
str = sb.toString();
return str;
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
2、读取网络地址文件(如:http://XXX/downloadFile/data.txt)
//适用于读取网络地址文件
private String getUrlData(String path) {
String content = "";
try {
URL url = new URL(path);
//打开连接
URLConnection conn = url.openConnection();
//打开输入流
InputStream is = conn.getInputStream();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();//用于保存读取的数据
//创建字节流--用于一次读取的长度
byte[] bs = new byte[1024];
int len;//读取长度
//写数据
while ((len = is.read(bs)) != -1) {
outStream.write(bs, 0, len);//将数据写入到数据流缓存outStream中
}
byte[] bb= outStream.toByteArray();//获取写入的流数据--字节流
content = new String(bb);//将字节流数据转化为字符串数据
is.close();
} catch (Exception e) {
e.printStackTrace();
}
return content;
}
如果对你有帮助,倍感荣幸!转载请注明出处,谢谢!