1. 程式人生 > >JAVA flush()的用法和意義

JAVA flush()的用法和意義

flush()方法:沖走。意思是把緩衝區的內容強制的寫出
    因為作業系統的某些機制,為了防止一直不停地磁碟讀寫,所以有了延遲寫入的概念。
    在網路web伺服器上也是,為了防止寫一個位元組就傳送一個訊息,所以有緩衝區的概念,比如64K的記憶體區域,緩衝區寫滿了再一次性寫入磁碟之中(或者傳送給客戶端瀏覽器)。
    flush方法一般是程式寫入完成時執行。隨後跟著close方法
==========================================================================================
問題:

import java.io.*;

public class TestBufferStream2 {
public static void main(String[] args) {
try {
BufferedWriter bw = new BufferedWriter(new FileWriter("e:\\javapro\\java\\dat2.txt"));
BufferedReader br = new BufferedReader(
new FileReader("e:\\javapro\\java\\dat2.txt"));
String s = null;
for(int i=1;i<=10;i++){
s = String.valueOf(Math.random());
bw.write(s);
bw.newLine();

}
bw.flush();
while((s=br.readLine())!=null){
System.out.println(s);
}
bw.close();
br.close();
} catch (IOException e) { e.printStackTrace();}
}
}
把 bw.flush(); 這句去掉後,該程式仍然能生成dat2.txt檔案,檔案中也有資料,為什麼該檔案內容輸出不出來呢?

相關推薦

java Future用法意義一句話擊破

在併發程式設計時,一般使用runnable,然後扔給執行緒池完事,這種情況下不需要執行緒的結果。 所以run的返回值是void型別。 如果是一個多執行緒協作程式,比如菲波拉切數列,1,1,2,3,5,8...使用多執行緒來計算。 但後者需要前者的結果,就需要用callabl

JAVA flush()的用法意義

flush()方法:沖走。意思是把緩衝區的內容強制的寫出。     因為作業系統的某些機制,為了防止一直不停地磁碟讀寫,所以有了延遲寫入的概念。     在網路web伺服器上也是,為了防止寫一個位元組就傳送一個訊息,所以有緩衝區的概念,比如64K的記憶體區域,緩衝區寫滿了再一次性寫入磁碟之中(或

java 多執行緒之future用法意義

在併發程式設計時,一般使用runnable,然後扔給執行緒池完事,這種情況下不需要執行緒的結果。所以run的返回值是void型別。 如果是一個多執行緒協作程式,比如菲波拉切數列,1,1,2,3,5,8...使用多執行緒來計算。但後者需要前者的結果,就需要用callable介

malloc的用法意義

int  *p; p = ( int *) malloc ( sizeof ( int ) * 128); //分配128個(可根據實際需要替換該數值)整型儲存單元, //並將這128個連續的整型儲存單元的首地址儲

C++虛基類的作用、用法意義

教科書上面對C++虛基類的描述玄而又玄,名曰“共享繼承”,名曰“各派生類的物件共享基類的的一個拷貝”,其實說白了就是解決多重多級繼承造成的二義性問題。例如有基類B,從B派生出C和D,然後類F又同時繼承了C和D,現在類F的一個物件裡面包含了兩個基類B的物件,如果F訪問自己的從

enum(列舉)函式的用法意義

枚 舉(enum) 列舉是一個被命名的整型常數的集合, 列舉在日常生活中很常見。 例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, 就是一個列舉。

在js中arguments.length的用法意義

function imagePreload() {   var imgPreload = new Image();   for (i = 0; i <arguments.length; i

Java中PreparedStatementStatement的用法區別

aik txt 實例 什麽 一點 所有 一個 drop passwd Java中PreparedStatement和Statement的用法區別 (2012-08-01 11:06:44) 轉載▼ 標簽: 雜談 1、 PreparedStatem

Java的staticfinal關鍵字的用法

and logs png 大寫 內存地址 imp 自己 普通 字母 static關鍵字的用法   static的意思是“’靜態的”,在java裏面可用於修飾屬性和方法。   static關鍵字的應用應註意以下幾種情形:       1.static作用於某個字段,一個sta

JFileChooserFileFilter的使用,以及Java RandomAccessFile用法

選擇 沒有 定義 相關 lte inpu 概念 獨立 文件 今天學習前輩的一個p2p下載的源代碼,其中遇見了兩個小問題,上網進行了百度,找到了答案,隨手記錄一下,以便於以後翻看。 1.首先自定義了一個文件下載的主界面,包括了創建任務、暫停任務、繼續任務、刪除任務,點擊創建任

Java中thissuper的用法總結

return 類繼承 xtend chinese ati -s sha blog 定義 在JAVA類中使用super來引用父類的成分,用this來引用當前對象。 如果一個類從另外一個類繼承,我們new這個子類的實例對象的時候,這個子類對象裏面會有一個父類對象。怎麽去引用裏面

Java 枚舉用法原理

HR rgs ring mil 代碼 package 輸出結果 資料 clas   用法: 1 package com.wjq.enums; 2 3 // 用戶狀態 4 // 0:正常狀態(已註冊) 5 // 1:已被封號(已註冊) 6 public enu

JAVA中thissuper用法

出現 子句 package code rgs lean 眼睛 都是 java對象   參考網上資料和自行理解總結java中this和super中各自用法及其差異   <一>. this的用法   構造方法是創建java對象的重要途徑,通過new關鍵字調用構造器

java中.currentTimeMillis的用法含義

imp public out 不同的 轉化 println mtime 時間格式化 time 用法:可以用法獲取當前時間的毫秒數,可以通過毫秒數進行時間比較,時間轉化以及時間格式化等。public class SystemTime {public static void m

Java之構造器構造方法的使用意義

但是 屬性 end 定義 檢查 初始化 當我 還需要 初學 java中構造方法是一個重要的概念,初學時有人會對此構造方法的使用特別是其作用不清楚,下面我就來談談我對java中構造方法的理解,有不對或不清楚的地方希望各位看官提出意見,謝謝! 一.構造方法的定義聲明 構造方法

Java 枚舉(enum) 的常見用法開發規範

blank index 不重復 light return sin ret lan ood JDK1.5引入了新的類型——枚舉。在 Java 中它雖然算個“小”功能,卻給我的開發帶來了“大”方便。 用法一:常量 在JDK1.5 之前,我們定義常量都是: public stat

java中 this() super()的作用及用法

原文地址:http://www.cnblogs.com/hasse/p/5023392.html 一、This   Java關鍵字this只能用於方法體中。this只能在類中的非靜態方法中使用,靜態方法和靜態的程式碼塊中絕對不能出現this,並且this只和特定的物件關聯,而不和類關聯,同一個類的不同物件

java物件拷貝——PropertyUtils copyProperties 用法效能

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java 中 this super 的用法總結

Java 中 this 和 super 的用法總結。 this 指向物件本身的指標,形參與成員名字重名,用 this 來區分。  super 超(父)類物件的一個指標。 對建構函式對引用: class Person { public stati

Java: HashMap、HashTable、LinkedHashMapTreeMap用法區別

Java為資料結構中的對映定義了一個介面java.util.Map,它有四個實現類,分別是HashMap、HashTable、LinkedHashMap和TreeMap。本節例項主要介紹這4中例項的用法和區別。 關鍵技術剖析: Map用於儲存鍵值對,根據鍵得到值,因此不允許鍵重複,值可以重複。 l