日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > java讀取流總結(jié)

java讀取流總結(jié)

來源:程序員人生   發(fā)布時間:2015-03-26 09:23:22 閱讀次數(shù):2497次

java的讀取有很多,F(xiàn)ileInputStream、InputStreamReader、BufferedReader,記下來

public class ReadFromFile { /** * 以字節(jié)為單位讀取文件,經(jīng)常使用于讀2進制文件,如圖片、聲音、影象等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字節(jié)為單位讀取文件內(nèi)容,1次讀1個字節(jié):"); // 1次讀1個字節(jié) 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("以字節(jié)為單位讀取文件內(nèi)容,1次讀多個字節(jié):"); // 1次讀多個字節(jié) byte[] tempbytes = new byte[100]; int byteread = 0; in = new FileInputStream(fileName); ReadFromFile.showAvailableBytes(in); // 讀入多個字節(jié)到字節(jié)數(shù)組中,byteread為1次讀入的字節(jié)數(shù) 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) { } } } } /** * 以字符為單位讀取文件,經(jīng)常使用于讀文本,數(shù)字等類型的文件 */ public static void readFileByChars(String fileName) { File file = new File(fileName); Reader reader = null; try { System.out.println("以字符為單位讀取文件內(nèi)容,1次讀1個字節(jié):"); // 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("以字符為單位讀取文件內(nèi)容,1次讀多個字節(jié):"); // 1次讀多個字符 char[] tempchars = new char[30]; int charread = 0; reader = new InputStreamReader(new FileInputStream(fileName)); // 讀入多個字符到字符數(shù)組中,charread為1次讀取字符數(shù) 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) { } } } } /** * 以行動單位讀取文件,經(jīng)常使用于讀面向行的格式化文件 */ public static void readFileByLines(String fileName) { File file = new File(fileName); BufferedReader reader = null; try { System.out.println("以行動單位讀取文件內(nèi)容,1次讀1整行:"); reader = new BufferedReader(new FileReader(file)); String tempString = null; int line = 1; // 1次讀入1行,直到讀入null為文件結(jié)束 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) { } } } } /** * 隨機讀取文件內(nèi)容 */ public static void readFileByRandomAccess(String fileName) { RandomAccessFile randomFile = null; try { System.out.println("隨機讀取1段文件內(nèi)容:"); // 打開1個隨機訪問文件流,按只讀方式 randomFile = new RandomAccessFile(fileName, "r"); // 文件長度,字節(jié)數(shù) long fileLength = randomFile.length(); // 讀文件的起始位置 int beginIndex = (fileLength > 4) ? 4 : 0; // 將讀文件的開始位置移到beginIndex位置。 randomFile.seek(beginIndex); byte[] bytes = new byte[10]; int byteread = 0; // 1次讀10個字節(jié),如果文件內(nèi)容不足10個字節(jié),則讀剩下的字節(jié)。 // 將1次讀取的字節(jié)數(shù)賦給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) { } } } } /** * 顯示輸入流中還剩的字節(jié)數(shù) */ private static void showAvailableBytes(InputStream in) { try { System.out.println("當前字節(jié)輸入流中的字節(jié)數(shù)為:" + 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); } }
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产成人精品免费 | 欧美成人区 | 国产日韩视频在线 | 日韩欧美国产一区二区三区 | 日韩三级在线观看 | 国产成人av一区二区三区在线观看 | 欧美激情视频在线观看 | 中文字幕国产在线 | 欧美日韩在线一区二区三区 | 亚洲在线观看视频 | 国产精彩视频 | 男女在线观看视频 | 日韩精品在线观看一区 | 国产精品三级在线观看 | 亚洲青涩在线 | 黄网址在线免费观看 | 国产成人综合自拍 | 久久久国产精品 | 欧美精品一区二区三区蜜桃视频 | 91精品久久久久 | 久久久久久久一区 | 国产ts一区 | 久久成人精品视频 | 欧美成人三区 | 日韩三级中文字幕 | 中文字幕av免费 | 久久久久久国产 | 日韩中文一区 | 精久久| 国产91精品久久久久久久网曝门 | 亚洲精品在线电影 | 久久伊人国产 | 91精品国产综合久久久久久 | 日韩综合一区 | 天天干网 | 国产亚洲欧美一区二区 | 日韩福利一区二区 | 男女国产视频 | aa国产 | 国产精品久久久久久亚洲调教 | 亚洲欧美综合色 |