-
RandomAccessFile操作查看全部
-
IO输入输出流查看全部
-
IO输入输出流查看全部
-
访问文件查看全部
-
遍历打印出指定目录下的所有文件查看全部
-
文件读写流 1.两个类: FileReader fr = new FileReader(srcFile); FileWriter fw = new FileWriter(destFile, true); FileWritter可以指定是否append 2.(实现如图) 3.需要注意: 如果处理的文件的编码方式和程序默认的编码方式不一致,copy操作将出现乱码。 比如,当前项目的编码方式是“gbk”,而处理的文件编码方式是UTF-8,那么在使用这两个类进行处理时,不会自动转换。使用FileWritter将文件流写入文件中会出现乱码。查看全部
-
(接上一笔记) 3.通过OutputStreamWriter将char数组写入到OutputStreamWriter中 OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(fileName)); while((d=isr.read(buffer, 0, buffer.length)) != -1){ osw.write(buffer, 0, d); osw.flush(); //一定要flush } 4.注意: (1)InputStreamReader和OutputStreamWriter操作对象是文本文件 (2)默认编码方式为GBK.如果一个utf-8编码的文件,需要指定编码方式为utf-8,否则会出现乱码 new InputStreamReader(new FileInputStream(fileName), "utf-8"); new OutputStreamWriter(new FileOutputStream(fileName, "utf-8); (3)完成后需要关闭close()查看全部
-
(buf[i] & oxf)查看全部
-
数据结构--->流的数据结构查看全部
-
序列化流(ObjectOutputStream) 反序列化流(ObjectInputStream) 对子类对象进行反序列化操作时,其父类没有实现序列化接口,父类的构造方法就会被显示调用查看全部
-
字符流 1.主要内容再写一遍 (1)编码问题 (2)文本、文件和文本文件 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 文件是byte byte byte...的字节序列 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果 (3)字符流 两个抽象类:Reader,Writer 字符的处理是一次处理一个字符,但是底层仍然是处理基本的字节序列 注意:一个字符可能是中英文,而且不同编码方式下占用字节个数不同 (4)字符流的基本实现类 InputStreamReader 完成byte流解析为char流,按照编码解析 OutputStreamWriter 提供char流到byte流,也是按照编码处理 2.通过一个InputStreamReader将一个文件内容解析为char流 (1)一次读取一个字符,默认用的是gbk编码 InputStreamReader isr = new InputStreamReader(new FileInputStream(fileName)); int c; while((c = isr.read())!=-1){ //一次读取一个字符 System.out.print((char)c); } (2)从InputStreamReader中批量读取到字符数组 char[] buffer = new char[8*1024]; while((d=isr.read(buffer, 0, buffer.length)) != -1){ String s = new String(buffer, 0, d); //将字符数组转成String } (下一个笔记)查看全部
-
字符流操作查看全部
-
字节缓冲流 1.BufferedInputStream和BufferedOutputStream FileOutputStream——>write()相当于一滴滴的转移 DataOutputStream——>write()相当于一瓢一瓢的转移 BufferedOutputStream——>write()相当于一瓢一瓢先放水桶中,然后直接将桶中的水倒进缸里 2.使用缓冲流copy文件内容 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile)); int c; while((c = bis.read()) != -1){ bos.write(c); bos.flush(); //刷新缓冲区 } 3.通过自己的实验,对一个7M的文件进行copy,两种方式对比 copy file by buffer 耗时:12593 copy file by byte 耗时:37404查看全部
-
字节流之数据输入输出流 1.DataInputStream和DataOutputStream 是对流的扩展,可以输入输出int、long、字符等数据 2.将数据写入到数据流中 DataOutputStream dos = new DataOutputStream(new FileOutputStream(file)); //参数为FileOutputStream,要使用其write() dos.writeInt(10); dos.writeLong(10l); dos.writeDouble(13.2); dos.writeUTF("中国"); //utf-8 dos.writeChars("中国"); //utf-16be 3.从数据输入流中读出数据 DataInputStream dis = new DataInputStream(new FileInputStream(file)); //从输入流中读出一个int int i = dis.readInt(); System.out.println(i);查看全部
-
java文件(char)是16位无符号整数是uincode编码。 文件是以byte的形式读写操作, 序列化:(utf—8、utf-16be、gbk)文本文件。 字符流:(reader、writer) 字符的底层是基本的字节序列。 字符流的基本实现 InputStreamReader 完成byte流的解析为char OutputStreamWriter 提供char流到byte查看全部
举报
0/150
提交
取消