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的主要内容,如果未能解决你的问题,请参考以下文章

2020.08.23|开始新的征程了呀

PHP 中的 SQL 查询(WordPress)

vuecli4启动加载所有模块

将文件夹名称批量修改为指定名称

文件夹名称怎么修改,求方法?

java 批量读取并修改文件名称。