java基础之文件操作和IO
写博客的原因
单纯的是记性不太好,写下来强化记忆,希望大家在学习编程的过程中多动手敲代码(动手还是很重要的)。ps:文章中如果引用到了您的内容请联系我,我会尽快删除。
大体内容
昨天学习Javaweb中JDBC处理大文本的时候,由于java基础的薄弱,回去重新学习了file类和io流。
正文
在下面的代码中
File file = new File(“d:/xyz.txt”);
File可以代表一个不存在的文件(临时)
即 d:/xyz.txt这个文件是可以不存在的
file中的一些方法:file.createfile 创建一个文件(接上文的话,文件名为xyz.txt)
file.extents 判断文件是否存在
file.delete 删除文件(这里的删除是彻底删除,不会回到回收站)
file.isFile 判断是否是文件
file.isDirectory 判断是否是目录
file.getpath 相对路径
file.getAbsolutepath 绝对路径
file.getName 文件名称
file.length 文件大小(返回值是byte)
回到io
io:inputstream输入流 outputstream 输出流
输入输出都是相对的,以内存为参考点,流入内存叫做输入流,流出内存叫做输出流。
流是一种FIFO(先进先出的数据结构)
分类:
按流分:输入流、输出流
按处理单元:字节流、字符流、其他流
流操作是需要关闭的,一般遵从先开后关,后开先关。
附上一段今天学习时的代码:字节流实现文件的复制
public class FileCopy {
public static void main(String[] args) {
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream("d:/abc.txt");
out = new FileOutputStream("d:/xyz.txt");
byte []buf = new byte[10]; //开辟10字节的内存
int len = -1;
try {
//read方法读到空的时候返回值是-1
while ( (len = in.read(buf))!= -1) { //in->buf
//从in中读多少取多少,避免最后一次读取多取的情况
out.write(buf,0,len); //buf->out
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
finally {
try {
//if 为了防止空指针
if(out!= null)out.close();
if(in!= null)in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
本文地址:https://blog.csdn.net/weixin_44288111/article/details/107289560
上一篇: python实训记录 One day