java:IO

文件读取

创建功能:

A:创建文件,如果文件不存在,就创建。存在,就不创建。
public boolean createNewFile() throws IOException

B:创建文件夹,如果文件夹不存在,就创建。存在,就不创建。
public boolean mkdir() 单级文件夹
public boolean mkdirs() 多级文件夹

到底创建的是文件还是文件夹,取决于你使用的方法。不取决于后缀名。

删除

删除功能:public boolean delete() 既可以删除文件,也可以删除文件夹。

相对路径:不以盘符开始的路径
绝对路径:以盘符开始的路径

  • 注意事项:
    A:如果一个文件夹内有内容,是不能直接删除的。
    B:Java程序的删除不走回收站,直接删除。
public boolean isDirectory():是否是文件夹
public boolean isFile():是否是文件
public boolean exists():是否存在
public boolean canRead():是否可读
public boolean canWrite():是否可写
public boolean isHidden():是否隐藏
public String getAbsolutePath():获取绝对路径
public String getPath():获取相对路径
public String getName():获取名称
public long length():获取文件的大小
public long lastModified():获取最后一次修改时间的毫秒值
public String[] list():返回的是给定目录下的所有文件或者文件夹的名称数组。
public File[] listFiles():返回的是给定目录下的所有文件或者文件夹的File数组。

IO流

IO流(掌握)

(1)IO流:
	A:用于实现设备间的数据传输问题
		上传文件,下载文件
	B:java中数据以IO流的形式传输
	C:针对流操作的对象都在io包中
(2)IO流的分类
	A:流向
		输入流
		输出流
	B:数据类型
		字节流
		字符流

a:如果没有明确指定,默认按照数据类型分。
b:通过windows记事本打开并能够读懂的文件,就用字符流。
否则,用字节流。
如果你不知道,建议永远使用字节流。

(3)FileOutputStream写数据
	步骤:
		A:创建字节输出流对象
		B:调用写数据功能
		C:释放资源

代码体现:

FileOutputStream fos = new FileOutputStream("fos.txt");

fos.write("helloworld".getBytes());

fos.close();

几个小问题:
A:创建字节输出流对象做了几件事情?
B:写完数据后,为什么要close()呢?
C:如何实现数据的换行呢?
D:如何实现数据的追加写入呢?
E:要求能够看懂加入异常处理后的IO代码

(4)FileInputStream读数据
	步骤:
		A:创建字节输入流对象
		B:调用读数据功能
		C:释放资源

代码体现:

FileInputStream fis = new FileInputStream("fis.txt");

//方式1:一次读取一个字节
			int by = 0;
			while((by=fis.read())!=-1) {
				System.out.print((char)by);
			}
			

//方法2:一次读取一个字节数组
	byte[] bys = new byte[1024];
			int len = 0;
			while((len=fis.read(bys))!=-1) {
				System.out.print(new String(bys,0,len));
			}

fis.close();
posted @ 2021-11-25 10:52  fristzzz  阅读(32)  评论(1)    收藏  举报