摘要:要啟用從字節到字符的有效轉換,可以提前從底層流讀取更多的字節,使其超過滿足當前讀取操作所需的字節。為了達到最高效率,可要考慮在內包裝。
這些都是一些小問題,但是有助于理解輸入輸出流。
InputStreamReader 中的一個 read()是每次只會從磁盤里面讀取一個字節。它會非常頻繁的訪問磁盤。(想一想,每次只從磁盤讀一個字節)
InputStreamReader 是字節流通向字符流的橋梁:它使用指定的 charset 讀取字節并將其解碼為字符。它使用的字符集可以由名稱指定或顯式給定,或者可以接受平臺默認的字符集。
每次調用 InputStreamReader 中的一個 read() 方法都會導致從底層輸入流讀取一個或多個字節。要啟用從字節到字符的有效轉換,可以提前從底層流讀取更多的字節,使其超過滿足當前讀取操作所需的字節。
為了達到最高效率,可要考慮在 BufferedReader 內包裝 InputStreamReader。例如:
BufferedReader in = new BufferedReader(new InputStreamReader import java.io.*; import java.io.DataInputStream; public class Main{ public static void main(String[] args) throws Exception { BufferedReader reader= new BufferedReader(new InputStreamReader(new FileInputStream(new File("text.txt")))); String line=null; while((line=reader.readLine())!=null){ String[] s=line.split("s+"); for ( String single:s ) { System.out.println(single); } } } }
(System.in));
s匹配任意的空白符,包括空格,制表符(Tab),換行符,中文全角空格
Java的重定向
JAVA支持標準的輸出輸入重定向。
public class Main{ public static void main(String[] args) throws Exception { System.out.println("Hello World!"); } }
編譯以后,直接使用java Main >test.txt進行輸出重定向
使用輸入重定向:
public class Main{ public static void main(String[] args) throws Exception { Scanner sc=new Scanner(System.in); while(sc.hasNextLine()) { System.out.println(sc.nextLine()); } } } java Main
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/64677.html
摘要:開公眾號差不多兩年了,有不少原創教程,當原創越來越多時,大家搜索起來就很不方便,因此做了一個索引幫助大家快速找到需要的文章系列處理登錄請求前后端分離一使用完美處理權限問題前后端分離二使用完美處理權限問題前后端分離三中密碼加鹽與中異常統一處理 開公眾號差不多兩年了,有不少原創教程,當原創越來越多時,大家搜索起來就很不方便,因此做了一個索引幫助大家快速找到需要的文章! Spring Boo...
摘要:是一個接口中的代理與中的委托基本類似。而中代理對象是作為被代理對象的一個屬性。我們自己的處理邏輯還需要實現是加入了的自己的邏輯調用。成員變量可以看出,中的動態代理體現了中最重要的一點面向接口編程。這樣生成的代理類也是一個對象。 調用靜態常量不會引起初始化(調用初始化代碼塊)。但是要調用類的靜態方法當然會初始化類了 class Test{ static{ ...
閱讀 2119·2023-04-26 00:41
閱讀 1154·2021-09-24 10:34
閱讀 3580·2021-09-23 11:21
閱讀 4091·2021-09-22 15:06
閱讀 1563·2019-08-30 15:55
閱讀 906·2019-08-30 15:54
閱讀 1835·2019-08-30 15:48
閱讀 558·2019-08-29 13:58