JAVA文件讀取常用工具類(8種)
JAVA操作文件在經常會使用到,本文匯總瞭部分JAVA操作文件的讀取常用工具類,希望可以幫到大傢。直接上代碼。
一、讀取文件成字節
將文件內容轉為字節,需要使用到FileInputStream文件字節輸入流,將文件輸入到文件字節輸入流中,使用FileInputStream的available()方法獲取與之關聯的文件的字節數,然後使用read()方法讀取數據,最後記得關閉文件字節流即可。
//讀取文件成字節數組 public static byte[] file2byte(String path){ try { FileInputStream in =new FileInputStream(new File(path)); byte[] data=new byte[in.available()]; in.read(data); in.close(); return data; } catch (Exception e) { e.printStackTrace(); return null; } }
二、將字節寫入文件
與一中的讀取文件成字節類似,字節寫入文件使用FileOutputStream流,即可將字節寫入到文件中。調用FileOutputStream的write()方法,寫入數據,之後關流。
//將字節數組寫入文件 public static void byte2file(String path,byte[] data) { try { FileOutputStream outputStream =new FileOutputStream(new File(path)); outputStream.write(data); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } }
三、按行讀取文件成list
經常遇到需要將一個文檔中的文本按行輸出,這是我們可以使用BufferedReader 和 InputStreamReader流處理。具體代碼如下。
//按行讀取文件成list public static ArrayList<String> file2list(String path,String encoder) { ArrayList<String> alline=new ArrayList<String>(); try { BufferedReader in =new BufferedReader(new InputStreamReader(new FileInputStream(path),encoder)); String str=new String(); while ((str=in.readLine())!=null) { alline.add(str); } in.close(); } catch (Exception e) { e.printStackTrace(); } return alline; }
四、輸出list到文件
//輸出list到文件 public static void list2file(String path,ArrayList<String> data,String encoder) { try { BufferedWriter out =new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path),encoder)); for (String str:data) { out.write(str); out.newLine(); } out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } }
五、從標準輸入中讀入
//從標準輸入中讀入 public static String system2str() throws IOException{ BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); return stdin.readLine(); }
六、讀取文件成字符串
//讀取文件成字符串 public static String file2str(String path,String encoder){ StringBuilder sb=new StringBuilder(); try { BufferedReader in =new BufferedReader(new InputStreamReader(new FileInputStream(path),encoder)); String str=new String(); while ((str=in.readLine())!=null) { sb.append(str); } in.close(); } catch (Exception e) { e.printStackTrace(); } return sb.toString(); }
七、輸出字符串到文件
//輸出字符串到文件 public static void str2file(String path,String data,String encoder){ try { BufferedWriter out =new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path),encoder)); out.write(data); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); } }
八、讀取文件成數據矩陣
//讀取文件成數據矩陣 public static ArrayList<Double> file2matrix(String path){ ArrayList<Double> alldata=new ArrayList<Double>(); try { DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream(path))); //利用DataInputStream來讀數據 while(true) { alldata.add(in.readDouble()); } } catch (Exception e) { e.printStackTrace(); } return alldata; }
總結
對文件的操作方式還有很多,本文使用的隻是一個基礎的參考示例,到此這篇關於JAVA文件讀取常用工具類(8種)的文章就介紹到這瞭,更多相關JAVA文件讀取內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java中IO流解析及代碼實例詳解
- Java 如何利用緩沖流讀寫文件
- Java FileInputStream與FileOutputStream使用詳解
- Java中IO流解析及代碼實例
- 一篇文章帶你深入瞭解javaIO基礎