JAVA IO

image.png

availble() 這個INPUT還有多少東西可以讀听隐。但是這個值不是準確的值织咧,不能做嚴謹的操作。

image.png

read() 為啥不是返回BYTE 而是 INT懦底?
因為如果READ到頭了唇牧,可以返回-1

read(byte[]) 盡量把BYTE Array 填滿

public static void main(String[] args) throws IOException {
        FileOutputStream out = null;
        try (FileInputStream in = new FileInputStream("a.txt")){
            out = new FileOutputStream("b.txt");
            int c;
            while ((c = in.read()) != -1) {
                System.out.print((char) c);
                out.write(c);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (out != null)
                out.close();
        }
    }
public static void main(String[] args) throws IOException {
        try (FileInputStream in = new FileInputStream("a.txt")){
            byte[] bytes = new byte[700];
            int n = in.read(bytes);
            System.out.println("n = " + n);
            for (byte b : bytes) {
                System.out.print((char)b);
            }
        }
    }
image.png

如果要讀中文,需要用file reader & file writer ; 因為他是16位16位讀的聚唐。
unicode 是16位丐重, 2^16

public static void main(String[] args) throws IOException {
        try (FileReader in = new FileReader("a.txt")){
            int c;
            while ((c = in.read()) != -1) {
                System.out.print((char) c);
            }
        }
    }
image.png
public static void main(String[] args) throws IOException {
        try(InputStreamReader cin = new InputStreamReader(System.in)) {
            System.out.println("Enter char, 'q' to quit.");
            StringBuffer userInput = new StringBuffer();
            while (true) {
                char c = (char) cin.read();
                if (c == 'q') break;
                userInput.append(c);
            }
            System.out.println(userInput);
        }
    }
image.png
public static void main(String[] args) throws IOException {
        try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")))){
            String line = null;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
        }
    }
class MyBufferedReader {
    private FileInputStream in;
    private StringBuffer buffer;

    public MyBufferedReader(FileInputStream in) {
        this.in = in;
        buffer = new StringBuffer();
    }
    
    public String nextLine() throws IOException {
        while (true) {
            int c = in.read();
            if (c == -1 || c == '\n') break;
            buffer.append((char) c);
        }
        String output = buffer.toString();
        buffer = new StringBuffer();
        return output;
    }
}

鍵盤按行讀

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            String line = scanner.nextLine();
            if (line.toLowerCase().equals("exit"))
                break;
            System.out.println("Input text : " + line);
        }
    }
image.png
public static void main(String[] args) {
        String dirname = "F:/";
        File d = new File(dirname);
        String[] path = d.list();
        for (String p : path) {
            System.out.println(p);
        }
    }
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市杆查,隨后出現(xiàn)的幾起案子扮惦,更是在濱河造成了極大的恐慌,老刑警劉巖亲桦,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件崖蜜,死亡現(xiàn)場離奇詭異,居然都是意外死亡客峭,警方通過查閱死者的電腦和手機豫领,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來舔琅,“玉大人等恐,你說我怎么就攤上這事”蛤荆” “怎么了课蔬?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長郊尝。 經常有香客問我二跋,道長,這世上最難降的妖魔是什么流昏? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任扎即,我火速辦了婚禮,結果婚禮上横缔,老公的妹妹穿的比我還像新娘铺遂。我一直安慰自己,他們只是感情好茎刚,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布襟锐。 她就那樣靜靜地躺著,像睡著了一般膛锭。 火紅的嫁衣襯著肌膚如雪粮坞。 梳的紋絲不亂的頭發(fā)上蚊荣,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天,我揣著相機與錄音莫杈,去河邊找鬼互例。 笑死,一個胖子當著我的面吹牛筝闹,可吹牛的內容都是我干的媳叨。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼关顷,長吁一口氣:“原來是場噩夢啊……” “哼糊秆!你這毒婦竟也來了?” 一聲冷哼從身側響起议双,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤痘番,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后平痰,有當地人在樹林里發(fā)現(xiàn)了一具尸體汞舱,經...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年宗雇,在試婚紗的時候發(fā)現(xiàn)自己被綠了昂芜。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡逾礁,死狀恐怖说铃,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情嘹履,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布债热,位于F島的核電站砾嫉,受9級特大地震影響,放射性物質發(fā)生泄漏窒篱。R本人自食惡果不足惜焕刮,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望墙杯。 院中可真熱鬧配并,春花似錦、人聲如沸高镐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫉髓。三九已至观腊,卻和暖如春邑闲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梧油。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工苫耸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人儡陨。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓褪子,卻偏偏與公主長得像,于是被迫代替她去往敵國和親骗村。 傳聞我的和親對象是個殘疾皇子褐筛,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內容

  • 概述 java.io 包幾乎包含了所有操作輸入、輸出需要的類叙身。所有這些流類代表了輸入源和輸出目標渔扎。java.io ...
    Steven1997閱讀 9,201評論 1 25
  • 標準輸入輸出,文件的操作信轿,網絡上的數據流晃痴,字符串流,對象流财忽,zip文件流等等倘核,java中將輸入輸出抽象稱為流,就好...
    navy_legend閱讀 720評論 0 0
  • IO概覽 字節(jié)流與字符流的區(qū)別字節(jié)流在操作時本身不會用到緩沖區(qū)(內存)即彪,是文件本身直接操作的紧唱,而字符流在操作時使用...
    Sophie12138閱讀 735評論 0 0
  • Java中I/O操作主要是指使用Java進行輸入,輸出操作. Java所有的I/O機制都是基于數據流進行輸入輸出隶校,...
    cmlong_閱讀 506評論 0 4
  • 接上篇《JavaSE 基礎學習之四 —— 異常的處理》 五. JavaSE 基礎學習 —— IO 操作 (java...
    琦小蝦閱讀 631評論 0 0