亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

文件傳輸基礎——Java IO流

難度入門
時長 2小時 0分
學習人數
綜合評分9.67
669人評價 查看評價
9.9 內容實用
9.6 簡潔易懂
9.5 邏輯清晰
  • 5)序列化中,子類和父類構造函數的調用問題

    對子類對象進行反序列化操作時,如果其父類沒有實現序列化接口,那么其父類的構造函數會被調用

    一個類實現了序列化接口,那么其子類都可以進行序列化

    查看全部
  • 4)transient關鍵字

    private void writeObject(java.io.ObjectOutputStream s)
    ? ? ? ?throws java.io.IOException

    private void readObject(java.io.ObjectInputStream s)
    ? ? ? ?throws java.io.IOException, ClassNotFoundException

    分析ArrayList源碼中序列化和反序列化的問題

    查看全部
  • 字符流的過濾器

    ?BufferedReader? --->readLine 一次讀一行

    ?BufferedReader/PrintWriter? --->寫一行

    查看全部
  • FileReader/FileWriter?

    直接操作文件,但文本文件無法處理編碼格式,需要回歸到InputStreamReader/OutputStreamWriter方法

    查看全部
  • 2、字符流

    1)編碼問題

    2)認識文本和文本文件

    Java的文本(char)是16位無符號整數,是字符Unicode編碼(雙字節編碼)

    文件是byte byte byte.....的數據序列

    文本文件是文本(char)序列按照某種編碼方案(utf-8,utf-16be,gbk)序列化為byte的存儲結果

    3)字符流(Reader Write)--->操作的是文本文件

    字符的處理,一次處理一個字符

    字符的底層任然是基本的字節序列

    字符流的基本實現

    InputStreamReader 完成byte流解析為char流,按照編碼解析

    OutputStreamWriter 提供char流到byte客流,按照編碼處理

    查看全部
  • 8)BufferedInputStream&BufferedOutputStream

    這兩個流類位IO提供了帶緩沖區的操作,一般打開文件進行寫入或讀取操作時,都會加上緩沖,這種流模式提高了IO的性能


    FileOutputStream--->write()方法相當于一滴一滴的把水轉移過去

    DataOutputStream--->writeXxx()方法方便一些,相當于一瓢一瓢的把水轉移過去

    BufferedOutputStream--->write()方法更方便,相當于一瓢一瓢先放入桶中,再從桶中倒入另一個缸中

    查看全部
    0 采集 收起 來源:字節緩沖流

    2022-02-11

  • IO流分為輸入流、輸出流
    還有字節流、字符流
    1、字節流:
    (1)InputStream:抽象了應用程序讀取數據的方式
    (2)OutputStream:抽象了應用程序寫 出數據的方式
    2)EOF = End 讀到-1就讀到結尾
    3)輸入流基本方法
    int b = in.read();讀取一個字節無符號填充到int低八位.-1是EOF
    in.read(byte[] buf) 讀取數據填充到字節數組buf
    in.read(byte[] buf,int start, int size)讀取數據到字節數組buf從buf的start位置開始存放size長度分數據
    4)輸出流基本方法
    out.write(int b)寫出一個byte到流,b的低8位
    out.write(byte[] buf)將buf字節數組都寫到流
    out.write(byte[] buf, int start,int size) 字節數組buf從start位置開始寫size長度的字節到流

    5)FileInputStream--->具體實現了在文件上讀取數據

    6)FileOutputStream--->實現了向文件中寫出byte數據的方法

    7)DataOutputStream/DataInputStream

    對“流”功能得擴展,可以更加方面的讀取int,long,字符等類型數據

    DataOutputStream

    ?writeInt()/writeDouble()/writeUT()

    查看全部
  • IO流分為輸入流、輸出流
    還有字節流、字符流
    1、字節流:
    (1)InputStream:抽象了應用程序讀取數據的方式
    (2)OutputStream:抽象了應用程序寫 出數據的方式
    2)EOF = End 讀到-1就讀到結尾
    3)輸入流基本方法
    int b = in.read();讀取一個字節無符號填充到int低八位.-1是EOF
    in.read(byte[] buf) 讀取數據填充到字節數組buf
    in.read(byte[] buf,int start, int size)讀取數據到字節數組buf從buf的start位置開始存放size長度分數據
    4)輸出流基本方法
    out.write(int b)寫出一個byte到流,b的低8位
    out.write(byte[] buf)將buf字節數組都寫到流
    out.write(byte[] buf, int start,int size) 字節數組buf從start位置開始寫size長度的字節到流

    5)FileInputStream--->具體實現了在文件上讀取數據

    6)FileOutputStream--->實現了向文件中寫出byte數據的方法

    查看全部
  • java.io.File類用于表示文件(目錄)

    File類只用于表示文件(目錄)的信息(名稱、大小等),不能用于文件內容的訪問


    RandomAccessFile java提供的對文件內容的訪問,既可以讀文件,也可以寫文件。支持隨機訪問文件,可以訪問文件的任意位置。

    RandomAccessFile支持隨機訪問文件,可以訪問文件的任意位置


    (1)java文件模型
    ?在硬盤上的文件時 byte byte byte存儲的,是數據的集合
    (2)打開文件
    兩種模式:“rw”(讀寫),“r”(只讀)
    RandomAccessFile raf = new RandomAccessFile(File,"rw")
    文件指針,打開文件時指針在開頭 pointer = 0;
    (3)寫方法:
    raf.write(int)--->只寫一個字節(后8位),同時指針指向下一個位置,準備再次寫入
    (4)讀方法:
    int b = raf.read()--->讀一個字節
    (5)文件讀寫完成以后一定要關閉(Oracle官方說明)
    raf.close()

    查看全部
  • package com.imooc.io;

    import java.io.File;
    import java.io.IOException;

    //列出File的一些常用操作,比如過濾、遍歷等操作
    public class FileUtils {
    ? ?/**
    ? ? * 列出指定目錄下(包括其子目錄的)所有文件
    ? ? *
    ? ? * @param dir
    ? ? * @throws IOException
    ? ? */
    ? ?public static void listDirectory(File dir) throws IOException {
    ? ? ? ?if (!dir.exists()) {
    ? ? ? ? ? ?throw new IllegalArgumentException("目錄:" + dir + "不存在.");
    ? ? ? ?}
    ? ? ? ?if (!dir.isDirectory()) {
    ? ? ? ? ? ?throw new IllegalArgumentException(dir + "不是目錄!");
    ? ? ? ?}
    // ? ? ? ?String[] filenames = dir.list();//返回的是字符串數組 直接子的名稱,不包含目錄下的內容
    // ? ? ? ?for (String s : filenames) {
    // ? ? ? ? ? ?System.out.println(dir + "\\" + s);
    // ? ? ? ?}
    ? ? ? ?//如果要遍歷子目錄下的內容就需要構造成File對象的遞歸操作,File提供了直接返回File對象
    ? ? ? ?File[] files = dir.listFiles();//返回的是直接子目錄(文件)的對象
    ? ? ? ?if (files != null && files.length > 0) {
    ? ? ? ? ? ?for (File file : files) {
    ? ? ? ? ? ? ? ?if (file.isDirectory()) {
    ? ? ? ? ? ? ? ? ? ?//遞歸
    ? ? ? ? ? ? ? ? ? ?listDirectory(file);
    ? ? ? ? ? ? ? ?} else {
    ? ? ? ? ? ? ? ? ? ?System.out.println(file);
    ? ? ? ? ? ? ? ?}
    ? ? ? ? ? ?}
    ? ? ? ?}
    ? ?}
    }

    查看全部
    0 采集 收起 來源:遍歷目錄

    2022-02-08

  • IO流分為輸入流、輸出流
    還有字節流、字符流
    1、字節流:
    (1)InputStream:抽象了應用程序讀取數據的方式
    (2)OutputStream:抽象了應用程序寫 出數據的方式
    2)EOF = End 讀到-1就讀到結尾
    3)輸入流基本方法
    int b = in.read();讀取一個字節無符號填充到int低八位.-1是EOF
    in.read(byte[] buf) 讀取數據填充到字節數組buf
    in.read(byte[] buf,int start, int size)讀取數據到字節數組buf從buf的start位置開始存放size長度分數據
    4)輸出流基本方法
    out.write(int b)寫出一個byte到流,b的低8位
    out.write(byte[] buf)將buf字節數組都寫到流
    out.write(byte[] buf, int start,int size) 字節數組buf從start位置開始寫size長度的字節到流

    查看全部
  • andomAccessFile java提供的對文件內容的訪問,既可以讀文件,也可以寫文件。支持隨機訪問文件,可以訪問文件的任意位置。

    java文件模型
    ?在硬盤上的文件時 byte byte byte存儲的,是數據的集合
    打開文件
    兩種模式:“rw”(讀寫),“r”(只讀)

    RandomAccessFile raf = new RandomAccessFile(File,"rw")
    文件指針,打開文件時指針在開頭 pointer = 0;

    寫方法:
    raf.write(int)--->只寫一個字節(后8位),同時指針指向下一個位置,準備再次寫入

    讀方法:
    int b = raf.read()--->讀一個字節

    文件讀寫完成以后一定要關閉
    raf.close()

    查看全部
  • import java.io.File;
    import java.io.IOException;

    // 列出file類的一些常用操作,不如過濾、遍歷等操作
    public class FileUtils {
    public static void listDirectory(File dir) throws IOException{
    // exists()方法用于判斷文件或目錄是否存在
    if(!dir.exists()){
    throw new IllegalArgumentException("目錄:" + dir + "不存在");
    }
    // isDirectory()方法用于判斷File類的對象是否是目錄
    if(!dir.isDirectory()){
    throw new IllegalArgumentException(dir + "不是目錄");

    }
    // list方法用于列出當前目錄下的子目錄和文件
    /*String[] filenames = dir.list(); // 返回的是字符串數組 直接子的名稱 不包含子目錄下的內容
    for (String string : filenames) {
    System.out.println(dir + ":\\" + string);
    }*/
    // 如果要遍歷子目錄下的內容就需要構造成File對象做遞歸操作,File提供了返回File對象的API
    File[] files = dir.listFiles(); // 返回的是直接子目錄(文件)的抽象
    //for (File file : files) {
    //System.out.println(file);
    if(files!=null && files.length > 0){
    for (File file : files) {
    if(file.isDirectory()){
    // 遞歸
    listDirectory(file);
    }else{
    System.out.println(file);
    }
    }
    }

    }



    }

    查看全部
    0 采集 收起 來源:遍歷目錄

    2021-04-07

  • java.io.File類在Java中表示文件或目錄。
    File類只用于表示文件(目錄)的信息(名稱、大小等),不能用于文件內容的訪問。

    創建File對象:File file=new File(String path);
    可以通過 alt+/ 查看構造函數
    注意:盤符后跟雙斜杠 \\ 或者 /
    1. file.seperater();獲取系統分隔符
    2. file.exists();是否存在.存在返回true,不存在返回false
    3. file.mkdir();或者file.mkdirs();創建目錄或多級目錄。
    4. file.isDirectory()或者file.isFile()判斷是否是目錄或者是否是文件。是返回true,不是為false
    5. file.delete();刪除文件/文件夾。
    6. file.createNewFile();創建新文件。
    7. file.getName()獲取文件名稱。
    8. file.getAbsolutePath()獲取絕對路徑。
    9. file.getParent();獲取父級絕對路徑。

    查看全部
  • 這里說"不識別換行符" 我認為readLine就是通過換行符進行斷行 讀取斷行前的內容并賦值.

    查看全部
  • 注意這里的?

    String line;

    和 !=null

    查看全部
  • new InputStreamReader 中可以傳遞字符類型的參數.

    查看全部
  • new BufferedReader 的參數是 Reader 類型 而這個Reader類型是 抽象類 無法直接new?可以通過 new InputStreamReader 來生成一個子類的對象

    查看全部
  • 把很大的數組直接構造為字符串.

    查看全部
  • 這里他在每次寫入后都刷新緩沖區一次.

    查看全部
    0 采集 收起 來源:字節緩沖流

    2021-04-06

首頁上一頁1234567下一頁尾頁

舉報

0/150
提交
取消
課程須知
親,為了更好的學習本門課程,需要您對二進制的知識有所了解,還要熟悉Java的基本語法和面向對象的知識。
老師告訴你能學到什么?
1、了解文件編碼。 2、能夠對文件和目錄進行管理操作。 3、能夠應用字節流和字符流對文件進行讀寫操作。 4、能夠對對象進行序列化和反序列化。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!