`
wlh269
  • 浏览: 455806 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用BufferedReader和BufferedWriter按行读写文件

    博客分类:
  • J2SE
阅读更多
原理:BufferedReader会一次性从物理流中读取8k(默认数值,可以设置)字节内容到内存,如果外界有请求,就会到这里存取,如果内存里没有才到物理流里再去读。即使读,也是再8k。  
  而直接读物理流,是按字节来读。  
  对物理流的每次读取,都有IO操作。IO操作是最耗费时间的。    
  BufferedReader就是减少了大量IO操作,而为你节省了时间。  
   简单的说,一次IO操作,读取一个字节也是读取,读取8k个字节也是读取,两者花费时间相差不多。而一次IO的来回操作却要耗费大量时间。  
  好比是一辆大型汽车(设装100人),要去车站接人到公司,接一个人也是接,接100个人也是接,而时间一样。显然,接100个人最划算。
  物理流就是一次一个字节(一个人)  
  Buffered就是一次8k个字节(100个人)  
  对于读取定长字节文件,当然BufferedReader更快了!






import java.io.*;
public class Test11 {
	private static BufferedReader br = null;
	private static File file = null;
	private static BufferedWriter bw = null;
	public static void main(String[] args) {
		String b = null;
		file = new File("D:\\abc.txt");
		if (!file.exists() != false) {
			try {
				file.createNewFile();
				
			} catch (IOException e) {
				e.printStackTrace();
			}
		  }
		 try {
			bw = new BufferedWriter(new FileWriter(file));
			FileReader fr = new FileReader("D:\\Log.txt");
			br = new BufferedReader(fr);
			while ((b = br.readLine()) != null) {
				System.out.println(b);
				bw.write(b);//输出字符串
     			bw.newLine();//换行
				bw.flush();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			try {
				br.close();
				//bw.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}


}
分享到:
评论

相关推荐

    BufferedReader 和BufferedWriter 实例

    在提供的`FileUtil.java`和`FileTest.java`文件中,可能包含了一些使用`BufferedReader`和`BufferedWriter`进行文件操作的实例代码。`FileUtil.java`可能包含了实用的文件操作工具方法,如读取文件、写入文件等,而`...

    文件读写 BufferedReader BufferedWriter 示例 去除代码后面多余空格

    文件读写 BufferedReader BufferedWriter 去除代码后面空格 简单 readLine newLine flush

    Java中BufferedReader与BufferedWriter类的使用示例

    总的来说,`BufferedReader`和`BufferedWriter`是Java I/O中用于提高效率的关键工具,它们通过内存缓冲区实现了对字符流的高效处理,是进行大量字符读写操作时的首选。使用这些类可以显著减少磁盘I/O操作,从而提升...

    Android 读写文件实例

    - 使用`BufferedReader`和`BufferedWriter`提高读写效率。 - 操作完成后记得关闭流,避免内存泄漏。 - 对于大文件,考虑使用`FileChannel`进行分块读写。 - 使用`try-with-resources`语句自动管理资源关闭。 以上...

    java 删除某行和读写txt文件

    ### Java删除某行和读写TXT文件 在Java中,如果需要从文本文件中删除特定行,实际上并没有直接提供这样的方法。通常的做法是先将文件中的所有内容读取到内存中,然后根据需要过滤掉不需要的行,最后再将处理后的...

    内部存储读写文件

    本文将详细介绍如何在Android Studio中获取内部存储路径,创建文件夹,以及进行读写和删除文件的操作。 首先,获取内部存储路径通常使用Android的`getFilesDir()`或`getInternalStorageDirectory()`方法。`...

    最简单易懂的一个java读写文件的操作

    通过`FileReader`和`BufferedReader`读取文件,用`FileWriter`和`BufferedWriter`写入文件,结合`newLine()`方法处理换行,我们可以实现对文件的高效且兼容的操作。这些基础知识是每个Java开发者都需要掌握的,对于...

    Android读写配置文件

    - 使用`FileInputStream`或`BufferedReader`打开文件,然后使用`DocumentBuilderFactory`和`DocumentBuilder`解析XML内容到DOM树,或者使用SAX或StAX解析器进行流式解析。 - 对于复杂的数据结构,可以使用XPath...

    03内部存储中读写文件

    3. 进行IO操作:使用`BufferedReader`和`BufferedWriter`等类进行读写操作。例如,使用`BufferedReader.readLine()`读取文件,`BufferedWriter.write()`写入文件。 4. 关闭流:完成读写后,记得关闭打开的流,避免...

    文件读写 文件读写文件读写 文件读写

    - `fgets()` 和 `fprintf()`:用于读取和写入文本行,前者按指定长度读取,后者格式化输出。 - Python中的`open()`:支持'with'语句,能自动关闭文件,避免资源泄漏。例如:`with open('filename.txt', 'r') as f:...

    java实现文件的读写操作

    在Java中,`java.io`包提供了丰富的类和接口来支持文件操作,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。首先,我们需要创建一个`File`对象来代表我们想要操作的文件或目录。...

    java读写文件

    对于大文件,直接使用`FileReader`和`FileWriter`可能会导致内存溢出,这时可以使用`FileInputStream`和`FileOutputStream`配合`DataInputStream`和`DataOutputStream`进行分块读写。如果需要追加内容,记得设置`...

    java io读写文件

    这里我们主要关注 `java.io` 包,它提供了多种类来处理文件的读写操作,如`FileReader`, `FileWriter`, `BufferedReader`, 和 `BufferedWriter`等。 ### 读取文件 首先,我们需要了解如何使用 `BufferedReader` 从...

    多线程对文件读写操作(java)

    3. **使用BufferedReader和BufferedWriter**:在Java中,使用`BufferedReader`和`BufferedWriter`进行文件读写可以提高效率,因为它们内部有缓冲区,可以减少磁盘I/O操作的次数。在多线程场景下,每个线程应有自己的...

    山东科技大学-Java数据结构实验五.docx

    * 流类库的使用:包括使用 BufferedReader 和 BufferedWriter 实现文件读写操作,使用 System.in 获取用户输入等。 * 文件读写操作:包括将用户输入的文字写入到文件中,并从文件中读取数据。 * 对象流的使用:包括...

    读写文件操作demo-java

    本示例"读写文件操作demo-java"旨在教你如何使用Java进行文件的读取和写入,这对于处理数据存储、日志记录或是任何需要与磁盘交互的应用程序至关重要。我们将探讨`java.io`包中的核心类,如`FileInputStream`, `...

    Android应用源码SdCard读写文件实例

    - 对于大型文件,考虑使用`RandomAccessFile`或分块读写以优化性能。 通过以上步骤,你可以在Android应用中实现对SD卡的读写操作。不过,随着Android系统的更新,对于外部存储的访问方式可能会有所变化,建议遵循...

    Java读写文本文件的示例代码.rar

    除了使用`BufferedReader`和`BufferedWriter`,Java 7引入了try-with-resources语句,这是一种更简洁且安全的资源管理方式,可以自动关闭流。以下是使用try-with-resources的示例: ```java import java.io....

    java文件读写操作

    在Java编程语言中,文件读写操作...在实际开发中,还需要根据具体需求选择合适的方法和策略,如处理大文件时可能需要分块读写,或者使用异步I/O来提高性能。通过不断地实践和学习,你将能熟练掌握Java的文件操作技能。

Global site tag (gtag.js) - Google Analytics