19 Java基礎筆記-包與IO流
阿新 • • 發佈:2018-11-20
包
一,包的概念
Java包類似電腦的檔案的作用,其中包含類檔案,類檔案很多時,就需要包對他們進行歸納整理,類中宣告的包必須與實際Class檔案所在的資料夾情況相一致。
二,宣告格式
格式:
package 包名.包名.包名...;
允許有多層包,包名採用全部小寫字母
包的宣告語句必須寫在程式有效程式碼的第一行
三,訪問格式
格式:
包名.類名 變數名 = new 包名.類名();
IO流
一,IO流概念
流,即流動,從一端移動到另一端,源頭與目的地,程式與檔案,陣列,網路連線,資料庫之間的流動。
二,IO流分類
1,流向:輸入與輸出流
2,資料:位元組流,二進位制,可以包括一切檔案;字元流,文字檔案,只能處理純文字。
3,功能:結點功能,用於包裹源頭;處理功能,用於增強功能,提供效能
三,位元組流與字元流(核心)
1,位元組流
輸入流:inputStream
輸出流:outputStream
2,字元流
輸入流:reader
輸出流:writer
四,操作步驟
1.->讀取檔案 2.-->建立與檔案聯絡 3.--->選擇對應的流 4.---->讀取與寫出 ①-->陣列大小 ②-->讀取並寫出 5.----->釋放資源
五,file類構造方法三種過載方式
案例教學:
import java.io.File;
public class FileDemo_1{
public static void main(String[] args) {
function_1();
function_2();
function_3();
}
/*
*File(String parent,String child)
*傳遞路徑型別:可以傳遞路徑,字串父路徑,字串子路徑。
*特性:單獨操作父路徑和路徑
*/
public static void function_1() {
File f1 = new File("C:","dell");
System.out.println(f1);
}
/*
* File(File parent,String child)
* 傳遞路徑型別:File型別父路徑,字串子路徑
* 特性:父路徑是File型別,父路徑可以直接呼叫File類方法
*/
public static void function_2() {
File f2_1 = new File("d:");
File f2_2 = new File(f2_1,"eclipse");
System.out.println(f2_2);
public static void function_3(){
File f3 = new File("d:\\User");
System.out.println(f3);
}
}
六,File類檔案功能
1,File建立,刪除功能
案例教學:
import java.io.IOException;
public class FileDemo_2{
public static viod main(String[] args){
function_1();
function_2();
function_3();
}
/*File建立資料夾功能
*boolean型別,mkdirs()。
*建立的檔案路徑和檔名需要File構造方法提供。
*若資料夾已經存在,就不再建立。
*/
public static void function_1()throws IOException{
File1 file1 = new file("E:\\a.txt");
boolean a = file1.createNewFile();
System.out.println(a);
}
/*File建立檔案功能
*boolean型別,createNewFile()。
*建立的檔案路徑和檔名需要File構造方法提供。
*若檔案已經存在,就不再建立。
*/
public static void function_2(){
File file2 = new File1("E:\\b\\c\\d");
boolean b = file2.mkdirs();
System.out.println(b);
}
/*File刪除功能
*boolean型別,delete()。
*刪除檔案或資料夾需要File構造方法。
*刪除方法不經過回收站,直接硬盤裡刪除。
*/
public static void function_3(){
File file3 = new File("E:\\a.txt");
boolean c = file3.delete();
System.out.println(c);
}
}
2,file獲取功能
案例教學:
public class FileDemo_3{
public static viod main(String[] args){
function_1();
function_2();
function_3();
function_4();
}
/*File獲取功能
*String型別,getName()。
*返回路徑中表示的檔案或者檔名
*/
public static void function_1(){
File file1 = new File("e:\\abc.txt");
String a = file1.getName();
System.out.println(a);
}
/*File獲取功能
*long型別,length()。
*返回路徑中表示的檔案的位元組數。
*/
public static void function_2(){
File file2 = new File("e:\\abc.txt");
long a = file2.length();
System.out.println(b);
}
/*File獲取功能
*File型別,getAbsolutePath()
*獲取絕對路徑
*/
public static void function_3(){
File file3 = new File("e:\\abc");
File c = file3.getAbsolutePath();
System.out.println(c);
}
/*File獲取功能
*File型別,getParentFile()
*獲取路徑父目錄
*/
public static void function_4(){
File file4 = new File("e:\\abc.txt");
File d = file4.geParentFile();
System.out.println(d);
}
/*File獲取功能
*String[]陣列,list()。
*獲取File構造方法中封裝的路徑的檔案和檔名(遍歷目錄)
*/
public static void function_5(){
File file5 = new File("e:\\a");
String[] e = file5.list();
for(String str : e){
System.out.println(str);
}
}
/*File獲取功能
*String[]陣列,listFile()。
*獲取File構造方法中封裝的全路徑(遍歷目錄)
*/
public static void function_6(){
File file6 = new File("e:\\a");
String[] f = file6.Filelist();
for(String g : f){
System.out.println(g);
}
}
}
3,file類判斷功能
案例教學:
public class FileDemo_4{
public static void main(String[] args) {
function_1();
function_2();
}
/*File判斷功能
*boolean型別,exists()。
*判斷File構造方法中封裝路徑是否存在
*/
public static viod function_1(){
File file1 = new File("E:\\abc.txt");
boolean a = file.exists();
System.out.println(a);
}
/*File判斷功能
*boolean型別,isDirectary()。
*判斷File構造方法中封裝的路徑是否為資料夾
*/
public static viod function_2(){
File file2 = new File("E:\\abc.txt");
if(file.exists()){
boolean b = file.isDirectary();
System.out.println(b);}
}
}
七,File過濾器
案例教學:
/*File過濾功能
*介面型別,listFiles(FileFilter filter)
*遍歷目錄,根據需要只獲取滿足條件的檔案
*/
//主類
import java.io.FileFilter;
import java.io.File;
//自定義過濾器,實現FileFilter介面,重寫抽象方法
public class MyFilter implement File{
public boolean void accept(File pathname){
return true;
}
}
//測試類
public class FileDemo{
public static viod main(String[] args){
File file = new File("E:\\abc");
File[] fileArr = file.listFiles(new MyFilter());
for(File f : fileArr){
System.out.println(f);
}
}
}