慕課網_文件傳輸基礎——Java IO流
阿新 • • 發佈:2017-07-14
一次 只讀 poi fileutil pat lar 一個 慕課網 inpu
fadf
第1章 文件的編碼
1-1 文件的編碼 (15:07)
第2章 File 類的使用
2-1 File 類常用 API 介紹 (10:50)
import java.io.File; import java.io.IOException; public class FileDemo { public static void main(String[] args) { File file = new File("E:\\helloworld\\java"); System.out.println(file.exists());// 判斷文件/文件夾是否存在 if (!file.exists()) { file.mkdirs();// 創建目錄 } else { file.delete(); } // 是否是一個目錄 System.out.println(file.isDirectory()); // 是否是一個文件 System.out.println(file.isFile()); File file2 = new File("E:\\helloworld\\1.txt"); if (file2.exists()) { try { file2.createNewFile();// 創建文件 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { file2.delete(); } System.out.println(file);// file.toString()的內容 System.out.println(file.getAbsolutePath()); System.out.println(file.getName()); System.out.println(file.getParent()); } }
2-2 遍歷目錄 (10:26)
import java.io.File; import java.io.IOException; //列出File的一些常用操作比如過濾、遍歷等操作 class FileUtils1 { /* * 列出制定目錄下(包括其子目錄)的所有文件 */ 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 string : filenames) { System.out.println(dir + "\\" + string); } } } class FileUtils2 { /* * 列出制定目錄下(包括其子目錄)的所有文件 */ public static void listDirectory(File dir) throws IOException { if (!dir.exists()) { throw new IllegalArgumentException("目錄:" + dir + "不存在"); } if (!dir.isDirectory()) { throw new IllegalArgumentException(dir + "不是目錄"); } // 如果要遍歷子目錄下的內容就需要構造成File對象做遞歸操作,File提供了直接返回File對象的API File[] files = dir.listFiles();// 返回的是直接子目錄(文件)的對象 if (files != null && files.length > 0) { for (File file : files) { if (file.isDirectory()) { listDirectory(file); } else { System.out.println(file); } } } } } public class FileUtilTest { public static void main(String[] args) throws IOException { FileUtils2.listDirectory(new File("E:\\kms")); } }
第3章 RandomAccessFile類的使用
3-1 RandomAccessFile基本操作 (17:16)
import java.io.File; import java.io.IOException; import java.io.RandomAccessFile; import java.util.Arrays; /* * 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官方說明) */ public class RafDemo { public static void main(String[] args) throws IOException { File demo = new File("demo"); if (!demo.exists()) { demo.mkdirs(); } File file = new File(demo, "raf.dat"); if (!file.exists()) { file.createNewFile(); } RandomAccessFile raf = new RandomAccessFile(file, "rw"); // 指針的位置 System.out.println(raf.getFilePointer()); raf.write(‘A‘);// 只寫了一個字節 System.out.println(raf.getFilePointer()); raf.write(‘B‘); int i = 0x7fffffff; // 用write方法每次只能寫一個字節,如果要把i寫進去就得寫4次 raf.write(i >>> 24);// 高8位 raf.write(i >>> 16); raf.write(i >>> 8); raf.write(i); System.out.println(raf.getFilePointer()); // 可以直接寫一個int raf.writeInt(i); String s = "中"; byte[] gbk = s.getBytes("gbk"); raf.write(gbk); System.out.println(raf.length()); // 讀文件,必須吧指針移到頭部 raf.seek(0); // 一次性讀取,把文件中的內容都讀到字節數組中 byte[] buf = new byte[(int) raf.length()]; raf.read(buf); System.out.println(Arrays.toString(buf)); String s1 = new String(buf, "gbk"); System.out.println(s1); for (byte b : buf) { System.out.println(Integer.toHexString(b & 0xff) + " "); } raf.close(); } }
第4章 字節流
4-1 字節流之文件輸入流FileInputStream-1 (15:09)
4-2 字節流之文件輸入流FileInputStream-2 (08:40)
4-3 字節流之文件輸出流FileOutputStream (13:24)
4-4 字節流之數據輸入輸出流 (11:08)
4-5 字節緩沖流 (17:54)
第5章 字符流
5-1 字節字符轉換流 (18:09)
5-2 字符流之文件讀寫流 (05:56)
5-3 字符流的過濾器 (10:25)
第6章 對象的序列化和反序列化
6-1 序列化基本操作 (10:30)
6-2 transient及ArrayList源碼分析 (12:41)
6-3 序列化中子父類構造函數問題 (11:43)
fasdfaf
慕課網_文件傳輸基礎——Java IO流