多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > java讀取流總結

java讀取流總結

來源:程序員人生   發布時間:2015-03-26 09:23:22 閱讀次數:2492次

java的讀取有很多,FileInputStream、InputStreamReader、BufferedReader,記下來

public class ReadFromFile { /** * 以字節為單位讀取文件,經常使用于讀2進制文件,如圖片、聲音、影象等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字節為單位讀取文件內容,1次讀1個字節:"); // 1次讀1個字節 in = new FileInputStream(file); int tempbyte; while ((tempbyte = in.read()) != -1) { System.out.write(tempbyte); } in.close(); } catch (IOException e) { e.printStackTrace(); return; } try { System.out.println("以字節為單位讀取文件內容,1次讀多個字節:"); // 1次讀多個字節 byte[] tempbytes = new byte[100]; int byteread = 0; in = new FileInputStream(fileName); ReadFromFile.showAvailableBytes(in); // 讀入多個字節到字節數組中,byteread為1次讀入的字節數 while ((byteread = in.read(tempbytes)) != -1) { System.out.write(tempbytes, 0, byteread); } } catch (Exception e1) { e1.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e1) { } } } } /** * 以字符為單位讀取文件,經常使用于讀文本,數字等類型的文件 */ public static void readFileByChars(String fileName) { File file = new File(fileName); Reader reader = null; try { System.out.println("以字符為單位讀取文件內容,1次讀1個字節:"); // 1次讀1個字符 reader = new InputStreamReader(new FileInputStream(file)); int tempchar; while ((tempchar = reader.read()) != -1) { // 對windows下, 這兩個字符在1起時,表示1個換行。 // 但如果這兩個字符分開顯示時,會換兩次行。 // 因此,屏蔽掉 ,或屏蔽 。否則,將會多出很多空行。 if (((char) tempchar) != ' ') { System.out.print((char) tempchar); } } reader.close(); } catch (Exception e) { e.printStackTrace(); } try { System.out.println("以字符為單位讀取文件內容,1次讀多個字節:"); // 1次讀多個字符 char[] tempchars = new char[30]; int charread = 0; reader = new InputStreamReader(new FileInputStream(fileName)); // 讀入多個字符到字符數組中,charread為1次讀取字符數 while ((charread = reader.read(tempchars)) != -1) { // 一樣屏蔽掉 不顯示 if ((charread == tempchars.length) && (tempchars[tempchars.length - 1] != ' ')) { System.out.print(tempchars); } else { for (int i = 0; i < charread; i++) { if (tempchars[i] == ' ') { continue; } else { System.out.print(tempchars[i]); } } } } } catch (Exception e1) { e1.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } } /** * 以行動單位讀取文件,經常使用于讀面向行的格式化文件 */ public static void readFileByLines(String fileName) { File file = new File(fileName); BufferedReader reader = null; try { System.out.println("以行動單位讀取文件內容,1次讀1整行:"); reader = new BufferedReader(new FileReader(file)); String tempString = null; int line = 1; // 1次讀入1行,直到讀入null為文件結束 while ((tempString = reader.readLine()) != null) { // 顯示行號 System.out.println("line " + line + ": " + tempString); line++; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } } /** * 隨機讀取文件內容 */ public static void readFileByRandomAccess(String fileName) { RandomAccessFile randomFile = null; try { System.out.println("隨機讀取1段文件內容:"); // 打開1個隨機訪問文件流,按只讀方式 randomFile = new RandomAccessFile(fileName, "r"); // 文件長度,字節數 long fileLength = randomFile.length(); // 讀文件的起始位置 int beginIndex = (fileLength > 4) ? 4 : 0; // 將讀文件的開始位置移到beginIndex位置。 randomFile.seek(beginIndex); byte[] bytes = new byte[10]; int byteread = 0; // 1次讀10個字節,如果文件內容不足10個字節,則讀剩下的字節。 // 將1次讀取的字節數賦給byteread while ((byteread = randomFile.read(bytes)) != -1) { System.out.write(bytes, 0, byteread); } } catch (IOException e) { e.printStackTrace(); } finally { if (randomFile != null) { try { randomFile.close(); } catch (IOException e1) { } } } } /** * 顯示輸入流中還剩的字節數 */ private static void showAvailableBytes(InputStream in) { try { System.out.println("當前字節輸入流中的字節數為:" + in.available()); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { String fileName = "C:/temp/newTemp.txt"; ReadFromFile.readFileByBytes(fileName); ReadFromFile.readFileByChars(fileName); ReadFromFile.readFileByLines(fileName); ReadFromFile.readFileByRandomAccess(fileName); } }
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 特级黄色免费片 | 国产欧美日韩另类一区乌克兰 | 国产精品第1页在线观看 | 欧美性视频网站 | 在线免费亚洲 | 午夜羞羞视频在线观看 | 国产欧美综合精品一区二区 | 国产精品亚洲精品日韩己满十八小 | 日本私人影院 | 在线观看视频免费播放 | 日韩欧美国产高清 | 叼嘿免费 | 456在线观看 | 伊人五月天综合 | 欧美激情观看一区二区久久 | 666精品国产精品亚洲 | 大香伊人网 | 成人a毛片久久免费播放 | 国产精品一区二区免费 | 在线视频黄 | 网站午夜 | 九九福利影院 | 就去干综合 | 国产一区二区在线 |播放 | 欧美做爰gif动态图一区二区 | 亚洲成人黄色在线 | 日本网站在线看 | 国产精品国产午夜免费福利看 | 一区二区三区在线播放 | 视频日韩p影院永久免费 | 日本乱妇18日本乱妇18p | 欧美日韩亚洲国产一区二区综合 | 一本大道香蕉大无线视频 | 欧美另类久久久精品 | 性做久久久久久网站 | 日本xxxx护士hd | 久久亚洲伊人成综合人影院 | 美国黄色一级毛片 | 欧美午夜小视频 | 国产午夜亚洲精品久久999 | 欧美αv天堂在线视频 |