在工作中遇到讀取地址文件數據:
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; }
如果對你有幫助,倍感榮幸!轉載請注明出處,謝謝!