java 如何使用缓冲区对文件进行读写操作 Dear 丶 2022-08-03 16:49 369阅读 0赞 首先,了解下什么是缓冲区: 电脑内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈——就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆——就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete.如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。 自由存储区——就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。 全局/静态存储区——全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。 常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改(当然,你要通过非正当手段也可以修改) 电脑缓冲区就是预留下来的做为急用的那一部分,为暂时置放输出或输入资料的内存。 如何对缓冲区进行操作: 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStreamReader和BufferedReader。其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁。你可以在构造器重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,例如GBK等。使用FileReader读取文件: FileReader fr = new FileReader(“ming.txt”); int ch = 0; while((ch = fr.read())!=-1 ) \{ System.out.print((char)ch); \} 其中read()方法返回的是读取得下个字符。当然你也可以使用read(char\[\] ch,int off,int length)这和处理二进制文件的时候类似。 事实上在FileReader中的方法都是从InputStreamReader中继承过来的。read()方法是比较好费时间的,如果为了提高效率我们可以使用BufferedReader对Reader进行包装,这样可以提高读取得速度,我们可以一行一行的读取文本,使用readLine()方法。 BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(“ming.txt”))); String data = null; while((data = br.readLine())!=null) \{ System.out.println(data); \} 了解了FileReader操作使用FileWriter写文件就简单了,这里不赘述。 Eg.我的综合实例: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; public class testFile \{ /\*\* \* @param args \*/ public static void main(String\[\] args) \{ // TODO Auto-generated method stub // file(内存)—-输入流—->【程序】—-输出流—->file(内存) File file = new File(“d:/temp”, “addfile.txt”); try \{ file.createNewFile(); // 创建文件 \} catch (IOException e) \{ // TODO Auto-generated catch block e.printStackTrace(); \} // 向文件写入内容(输出流) String str = “亲爱的小南瓜!”; byte bt\[\] = new byte\[1024\]; bt = str.getBytes(); try \{ FileOutputStream in = new FileOutputStream(file); try \{ in.write(bt, 0, bt.length); in.close(); // boolean success=true; // System.out.println(“写入文件成功”); \} catch (IOException e) \{ // TODO Auto-generated catch block e.printStackTrace(); \} \} catch (FileNotFoundException e) \{ // TODO Auto-generated catch block e.printStackTrace(); \} try \{ // 读取文件内容 (输入流) FileInputStream out = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(out); int ch = 0; while ((ch = isr.read()) != -1) \{ System.out.print((char) ch); \} \} catch (Exception e) \{ // TODO: handle exception \} \} \}
相关 Java文件操作:如何进行读写文件的基本操作 在Java中,进行文件的读写操作主要包括以下几个步骤: 1. **文件的打开**: - `File`类是用于操作文件或目录的对象。 - 使用`new File(p r囧r小猫/ 2024年09月20日 09:03/ 0 赞/ 3 阅读
相关 如何使用Java进行文件读写操作 在Java中,我们可以使用`java.io`包中的类来进行文件的读写操作。以下是常见的几种操作: 1. **创建文件**: ```java File file = 我就是我/ 2024年09月18日 00:39/ 0 赞/ 12 阅读
相关 使用Java对文件进行读写操作示例 在Java中,我们可以使用`File`和`BufferedReader`等类来进行文件的读写操作。 以下是一个简单的示例,演示如何读取一个文本文件: ```java imp 清疚/ 2024年09月17日 03:24/ 0 赞/ 12 阅读
相关 使用Java进行CSV文件读写操作 在Java中,我们可以使用开源库如Apache Commons CSV或者Joda-Time等来处理CSV文件的读写。 以下是一个使用Apache Commons CSV的基 本是古典 何须时尚/ 2024年09月15日 01:33/ 0 赞/ 15 阅读
相关 Java IO操作:文件读写及缓冲区使用实例 在Java中,IO(Input/Output)操作是与文件、输入输出设备进行交互的重要部分。以下是一些关于文件读写和缓冲区使用的例子: 1. 文件读取: ```java im 野性酷女/ 2024年09月10日 16:36/ 0 赞/ 23 阅读
相关 如何用Java进行文件读写操作? 在Java中,我们可以使用java.io包中的类来进行文件的读写操作。以下是一些常用的类和方法: 1. **File**:表示一个文件或目录。你可以创建一个新的File对象来 我不是女神ヾ/ 2024年09月10日 10:45/ 0 赞/ 25 阅读
相关 java 如何使用缓冲区对文件进行读写操作 首先,了解下什么是缓冲区: 电脑内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈——就是那些由编译器在需要的时候分配,在不需要的时候自动清 Dear 丶/ 2022年08月03日 16:49/ 0 赞/ 370 阅读
还没有评论,来说两句吧...