在工作中遇到读取地址文件数据:
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; }
如果对你有帮助,倍感荣幸!转载请注明出处,谢谢!