File类:对象本身主要获取一些文件本身的信息,例如文件的目录,文件的长度,文件读取的权限,不涉及对文件的读写操作。
三个构造方法:
File(String filename);
File(String directoryPath,String filename);
File(File dir,String filename);
filename 文件名字 , directoeyPath文件路径,dir文件目录;
属性:
File f=new File("C:\\Users\\lenovo-pc\\Desktop","测试.txt");
f.getName();//获取文件名字
f.canRead();//判断文件是否可读
f.canWrite();//判断文件是否可写
f.exists();//判断文件是否存在
f.length();//获取文件的长度(单位是字节)
f.getAbsoluteFile();//获取文件的绝对路径
f.getParent();//获取文件的父目录
f.isFile();//判断文件是否是一个普通文件
f.isDirectory();//判断文件是否是一个一个目录
f.isHidden();//判断文件是否是一个隐藏文件
f.lastModified();//获取文件最后修改的时间
f.delete();//删除文件
文件字节输入流:
俩个构造方法:
FileInputStream(String name);
FileInputStream(File file);
第一个构造方法使用给定的文件名name创建FileInputStream流,第二个构造方法使用File对象创建FileInputStream流。
使用输入流读取数据
int read();//输入流调用该方法从源中读取单个字节数据,返回字节值(0~255)之间整数,如果没有读到返回-1
int read(byte b[]);//输入流调用该方法从源中视图读取b.length个字节到数组b中,返回实际读取的字节数目。达到文件末尾返回-1;
int read(byte b[],int off,int len)//输入流调用该方法从源中试图读取len个字符到字节数组b中,并返回实际读取的字节数目。如果达到文件末尾,则返回-1,参数off指定从字节数组的某个位置开始存放读取的数据
具体测试代码:
File f=new File("C:\\Users\\lenovo-pc\\Desktop","测试2.txt");
FileInputStream fi=new FileInputStream(f);
int n=0;
byte[] b=new byte[100];
while((n=fi.read(b))!=-1){
String s=new String(b,0,n);
System.out.println(s);
}
fi.close();
文件字节输出流(FileInputStream)
构造方法:
FileOutputStream(String name);
FileOutputStream(File file);
第一个构造方法使用给定的文件名name创建FileOutputStream流,第二个构造方法使用File对象创建FileOutputStream流。参数name和file指定的文件称为输出流的目的地。
使用输出流写字节
- void write(int n) 输出流调用该方法向目的地写入单个字符
- void write(byte b[])输出流调用该方法向目的地写入一个字节数组。
- void write(byte b[],int offf,int len)给定字节数组中起始于偏移量off处取len个字节写到目的地
- void close()关闭输出流
具体代码实现
File f=new File("C:\\Users\\lenovo-pc\\Desktop","测试2.txt");
FileInputStream fi=new FileInputStream(f);
int n=0;
byte[] b=new byte[100];
while((n=fi.read(b))!=-1){
String s=new String(b,0,n);
System.out.println(s);
}
fi.close();
FileOutputStream fo=new FileOutputStream(new File("C:\\Users\\lenovo-pc\\Desktop", "新测试.txt"));
fo.write(b);
fo.close();
喜欢的记得点个关注哟!