2020-08-23
Posted cvems700
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-08-23相关的知识,希望对你有一定的参考价值。
File类:
代表与平台无关的文件和目录
File能新建创建文件和目录,但file文件不能访问文件内容本身
如果需要访问文件内容本身,则需要使用输入输出流
//使用绝对路径
File f =new File(“F:\\filetest\\test1.txt”);
//判断文件是否存在
System.out.println(f.exists());
//访问文件名称
String name =f.getName();
System.out.println(name);
//重命名
boolean flag =f.renameTo(new File(“F:\\filetest\\test1.txt”));
System.out.println(flag);
//是否有权限读写
boolean a =f.canRead();
boolean b =f.canWrite();
System.out.println(a);
System.out.println(b);
//判断是否为目录
File file3 =new File("F:\\\\filetest");
try
file3.createNewFile();
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
//创建文件
System.out.println("是否目录"+file3.isDirectory());
System.out.println(f.isDirectory());
//获取修改时间
long time =f.lastModified();
//获取目录所有文件列表
String[] dirlist = file3.list();
for(String i:dirlist)
System.out.println(new File("F:\\\\filetest\\\\"+i).isDirectory());
Io流 stream
Java中对于数据处理,以输入输出流的方式进行,按照类型可分为字符,字节流
源文件–————-》程序(内存)————》目标文件
输入流 输出流
//从硬盘设备,读取文件到程序
//f:\\filetest ->打印并输出
//input输入流
//节点流,字节输入流
//节点流还是处理流,节点流时从一个特定的设备都写的数据流,也叫文件流(访问文件相关)
// 处理流:对已经存在的流进行封装链接
public static void testFileIo() throws Exception
//一。读取文件并打印的过程
//1.先将文件映射到类中,先创建文件对象
File file =new File("F:\\\\filetest\\\\test1.txt");
//2.搭建一个通道(fileInputStream)
FileInputStream input = null;
try
input = new FileInputStream(file);
//3.通过通道传输字节信息 字节转换方式
// int b =input.read();
int b =0;
while((b =input.read())!=-1)
System.out.println((char)b);
catch (Exception e)
// TODO Auto-generated catch block
e.printStackTrace();
throw new myException();
finally
//4.关闭通道end
try
input.close();
catch (Exception e)
// TODO Auto-generated catch block
e.printStackTrace();
文件复制
public void filecopy()
FileInputStream input =null;
FileOutputStream output =null;
try
//1.定义读写文件
File file1 =new File("");
File file2 =new File("");
//2.定义输入输出流
input =new FileInputStream(file1);
output = new FileOutputStream(file2);
//实现文件复制
byte[] buf =new byte[20];
int len;
try
while((len =input.read(buf))!=-1)
output.write(buf,0,len);
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (FileNotFoundException e)
// TODO Auto-generated catch block
e.printStackTrace();
finally
try
input.close();
output.close();
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
文件写入
FileOutputStream output =null;
File file= new File(“F:\\filetest\\outtest.txt”);
try
output =new FileOutputStream(file);
//内存
String string ="hello world";
//写入文件
try
output.write(string.getBytes());
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (FileNotFoundException e)
// TODO Auto-generated catch block
e.printStackTrace();
finally
try
output.close();
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
处理流
处理流(缓冲流)可以提高文件的操作效率
Bufferedinputstream 处理字节的输入流
Bufferedoutputstream 处理字节的输出流
Bufferedreader 处理字符的输入流
Bufferedwriter 处理文件的输出流
流不可逆
用缓冲流和输入流对接
缓冲流读取数据需要刷新 b.flush()
程序中打开的io文件不属于内存中的资源,垃圾回收机制无法回收该资源,所以应该显示的手动关闭流
Reader 字符流
fileReader
FileWriter
以上是关于2020-08-23的主要内容,如果未能解决你的问题,请参考以下文章