----- android培训、java培训、期待与您交流! ----------
在java中,IO操作主要指是使用java进行输入,输出操作,java中所有操作类都在javaIO包中,需要在使用时倒入该包。
(一)File类
通过File类可以执行创建新文件,删除文件,判断文件是否存在,列出指定文件目录等操作。下面一个程序可以实现创建和删除文件的操作:
import java.io.File ;
import java.io.IOException ;
public class FileDemo06{
public static void main(String args[]){
File f = new File("d:"+File.separator+"test.txt") ; // 实例化File类的对象
if(f.exists()){ // 如果文件存在则删除
f.delete() ; // 删除文件
}else{
try{
f.createNewFile() ; // 创建文件,根据给定的路径创建
}catch(IOException e){
e.printStackTrace() ; // 输出异常信息
}
}
}
}
2)RandomAccessFile类
该类可以随机读取一个文件中指定位置的数据。
要点:为了随机的读取指定位置,应当使每个数据的长度保持一致,比如,文件中存有3个数据:
zhangsan,30;
lisi,32;
wangwu,33;
用RandomAccess类读取lisi信息时,相当于设置了指针,跳过了zhangsan信息。所以设置姓名和年龄时应当规定相应的位数。
3)字节流和字符流的基本操作
程序中所有的数据都是以留的方式进行传输或保存的,程序需要数据时要使用输入流读取数据。java.io包中流的操作主要有字节流,字符流两大类。两类都有输入和输出操作。字节流中输出数据主要使用OutputStream类完成,输入使用的是inputStream。字符流输出用wriler类完成,输入是用Reader类完成。
在编写一个向文件写入字符串的程序时,发现追加内容紧跟在原有内容之后,为了让追加内容换行,可以在要换行处加入一个“\r\n”。
要点,字节流和字符流的区别:
字节流在操作时本身不会用到缓冲区,是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。
问题:使用字节流好还是字符流好
所有的文件在存储时都以字节的方式存在。字符只是在内存中才会形成。所以开发中,字节流使用广泛。
4)内存操作流
ByteArrayInputStream,ByteArrayOutputStream可以完成内存的操作。
一般在生成一些临时信息时才会使用。
5)打印流
主要包括字节打印流PrintStream,字符打印流PrintWriter。PrintStream是OutputStream的子类。