IO与文件笔记

来源:互联网 发布:淘宝评分怎么提高 编辑:程序博客网 时间:2024/05/16 10:16

一、File

1.1、

//通过路径指向了磁盘的一个资源File file = new File("c:\\temp\\abc");

1.2、

//创建文件或目录file.createNewFile();//建文件file.mkdir();//建目录file.mkdirs();//建目录(连同父目录一起创建)

1.3、

//判断文件是否存在if(file.exists()){}//判断是否是文件或目录file.isFile();file.isDirectory;

1.4、

//删除文件file.delete();file.deleteOnExit();

File中只提供了操作文件或者属性的一些方法,如果想读写数据,应该借助IO。

二、IO

IO是java中提供的一种用于读写文件的API。
2.1、字节流
(1)FileOutPutStream 写数据

FileOutPutStream fs = new FileOutPutStream("c:\\temp\\abc");/*====逐个写入====*/fs.write(97);fs.write(98);fs.write(99);//最后文本输出结果是'abc'/*====多个写入====*/byte[] data = {65,66,67};fs.write(data);//最后结果是'ABC'/*====写入中文====*/String Str = "Hello你好";byte[] dataStr = str.getBytes();fs.write(dataStr)//关闭输出流fs.close();

(2)FileInPutStream 读数据

FileInPutStream fis = new FileInPutStream("c:\\temp\\abc");/*====逐个读取====*/int data = -1;//字节流读到末尾的标志值是-1while((data=fis.read())!=-1){    System.out.println(data);}/*====多个读取====*/byte[] temp = new byte[10];int length = -1;while((length=fis.read(temp))!=-1){    System.out.println(Arrays.toString(temp));}

(3)BufferedOutPutStream 缓冲输出流

FileOutPutStream fs = new FileOutPutStream("c:\\temp\\abc");BufferedOutPutStream bos = new BufferedOutPutStream(fs);bos.write(97);Thread.sleep(10000);bos.flush();//刷新缓冲bos.close;

(4)ObjectOutPutStream 序列化(把对象写入IO)

//先把一个Obj对象实现Serializable接口Obj o = new Obj();o.setXX("");ObjectOutPutStream oos = new ObjectOutPutStream(new FileOutPutStream("c:\\temp\\abc"));oos.writeObject(o);oos.close();

(5)ObjectInPutStream 反序列化(从IO中读取对象)

ObjectInPutStream ois = new ObjectInPutStream(new FileInPutStream("c:\\temp\\abc"));Obj o = (Obj)ois.readObject();ois.close;

2.2、字符流
(1)BufferedWriter 写数据

BufferedWrite bw = new BufferedWrite(new FileWrite("c:\\temp\\abc"));bw.write("写入数据");bw.newLine();//换行bw.close();

(2)BufferedReader 读数据

BufferedReader br = new BufferedReader(new FileReader("c:\\temp\\abc"));//读取一行String line_1 = br.readLine;//读取多行while((line_1 = br.readLine())!=null){    System.out.println(line_1);}br.close();
0 0
原创粉丝点击