File类和字节流
需要导入的包
1、java.io.File
表示:文件或文件夹(目录)
File f= new File("文件路径")
注意:相对路径:非web项目的相对都是以项目为起点,(src/a.txt)(建议)
绝对路径:f:/bin/a.txt(以盘符开头)
File的一些常用的方法
2、文件常见方法
boolean flag= f.exists();//文件是否存在
flag= f.isFile();//是否是文件
flag= f.isDirectory();//是否是目录
str=f.getPath();//获得文件的相对路径
str= f.getAbsolutePath();//获得文件的绝对路径
str= f.getName();//获得文件的名称
flag= f.delete();//删除指定的文件
flag = f.createNewFile();//创建空文件夹
flag = f.lengh();//获得文件长度
注意: File不能操作文件的内容
3、InputStream/OutputStream
文件,FileInputStream/FileOutputStream
3.1 InputStream(输出流)
数据从文件到java代码中
int read();//读取一个字节
int read(byte[]);//读取一串字节
long avaliable;//文件长度
示例代码:
FileInputStream fis=null
try{
fis=new FileInputStream("文件路径");
int data;
System.out.println(fis.available);
System.out.println("内容:");
while((data=fis.read())!=-1){
System.out.println((char)data+"");
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(fis!=null){
fis.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
3.2 FileInputStream(字节文件输入流)
new FileInputStream(File);
new FileOutputStream(File);
3.3 OutputStream(输出流)
数据从java代码中,写到文件或其他介质中。
void write (字节);//写入一个字节
void write(byte[]); //写入字节数组
3.4 FileOutputStream
new FileOutputStream(file)
new FileOutputStream("文件路径+文件名")
new FileOutputStream("文件路径+文件名",boolean)
注意:a.boolean:表示是否向文件末尾追加,如果是true,表示
追加,false表示不追加(也就是覆盖),默认值为false
b.创建FileOutputStream实咧时,
如果相应的文件并不存在,则会自动创建一个空的文件。
示例代码:
File a= new File("src/a.txt");
InputStream is=new FileInputStream(a);
File b=new File("src/b.txt");
if(!b.exists()){
b.createNewFile();
}
OutputStream os= new FileOutputStream(b);
int r;
while((r=is.read())!=-1){
os.write(r);
}
os.close();
is.close();
}