包
一,包的概念
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);
}
}
}