java.io.BufferedReader和java.io.BufferedWriter类各拥有8192字符的缓冲区。当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。如果缓冲区数据不足,才会再从文件中读取,使用BufferedWriter时,写入的数据并不会先输出到目的地,而是先存储至缓冲区中。如果缓冲区中的数据满了,才会一次对目的地进行写出。
public static void main(String[] args) throws Exception{
1 File file = new File("d:\\test\\20150401_001");
2 File fil1 = new File("d:\\test\\20150401_001");
3 BufferedReader reader = new BufferedReader( new FileReader( file));
4 BufferedWriter writer = new BufferedWriter( new FileWriter( fil1));
StringBuffer buffer = new StringBuffer();
String tmp = reader.readLine();
while( tmp != null ){
buffer.append(tmp.trim() + "\n");
tmp = reader.readLine();
}
System.out.println(buffer.toString());
}
当3,4行代码执行时,第4行代码会把路径下的文件设置为空文件。后面代码while不再进入,打印出来为'';
如果想对一个文件进行操作,输出后文件路径,文件名保持不变,应该如例:
BufferedReader reader = new BufferedReader( new FileReader( new File(fileName)));
StringBuffer buffer = new StringBuffer();
String tmp = reader.readLine();
while( tmp != null ){
buffer.append(tmp.trim() + "\n");
tmp = reader.readLine();
}
BufferedWriter writer = new BufferedWriter( new FileWriter( new File(fileName)));
writer.write( );
分享到:
相关推荐
- 下载过程是通过循环读取输入流并写入输出流实现的。使用了一个字节数组`buffer`来存储每次读取的数据。 #### 四、关键步骤解读 1. **初始化线程**: - 首先,根据传入的URL数组创建相应数量的`DownloadThread`...
4. **关闭流**:读取完成后,确保关闭输入流以释放资源。 ```java fis.close(); ``` 接下来,我们看下如何写入txt文件: 1. **获取Context对象**:与读取相同,获取`Context`对象。 2. **使用openFileOutput()...
7. **输入/输出流**:Java的I/O系统允许程序进行文件操作和网络通信,包括字节流、字符流、缓冲流、对象序列化等。 8. **反射**:Java的反射机制允许在运行时动态地获取类的信息并操作类的对象。 9. **枚举**:...
- **输入流与输出流**:Java的I/O系统基于流的概念,用于处理数据的读取和写入。 - **文件操作**:包括文件的创建、读取、写入、追加以及删除等操作。 - **缓冲流**:通过BufferedReader和BufferedWriter等类提高...
通过组合不同类型的装饰者,我们可以构建出满足各种需求的输入输出流,而不必创建大量的子类。这种设计使得Java的IO库在功能强大且多样化的同时,仍保持着较好的可维护性和易用性。 参考文献: - 廖雪峰. 深入 Java...
21. **输入输出流类型**: - 字节流是以字节(8位)为单位进行读写的。 - 字符流是以字符(16位)为单位进行读写的。 22. **选项分析**: - **A**:错误。字节流中的数据以8位字节为单位进行读写。 - **B**:...
6. ×,Java 流不仅涉及文件,还包括内存和其他数据源的输入输出。 7. ×,Java Applet 可以在没有图形界面的环境中工作,如 AppletViewer。 8. √,用户自定义的图形元素可以响应用户动作。 9. √,异常可能导致...
在Java中,这通常涉及`File`类、`BufferedReader`或`BufferedWriter`等流类的使用,以进行文件的读写操作。 7. **菜单驱动的用户界面**:`caidan()`方法负责输出系统菜单,提供用户交互界面。这种设计使得用户可以...
(5)打开图形功能:利用对象输入流,将容器对象读入,然后将容器里面的图形对象在画板上绘制出来 (6)新建文件功能:新建文件,将画板上绘制的内容清空(清空之前可以确认是否需要进行保存)清屏(重绘)功能依次方法...
- Java输入输出:`Scanner`类用于从键盘读取输入,`BufferedReader`和`FileReader`用于读取文件。 - 方法重载:在同一类中创建具有相同名称但参数不同的方法。 - 类与对象:定义类,使用构造函数初始化对象,以及...
根据给定的文件信息,我们可以总结出一系列与2010年华为Java面试相关的知识点,这些知识点涵盖了Java语言的基础概念、语法结构、类与对象、访问控制、异常处理、数据类型转换、编码标准以及面向对象编程的核心原则。...
8. **输入/输出流**:读取字符文件通常使用`FileInputStream`来打开文件,然后使用`BufferedReader`或者`DataInputStream`进行读取。多重继承在Java中通过接口实现。 9. **线程**: - 创建线程可以实现`Runnable`...
- **类名和文件名一致**:在Java中,每个公共类都必须定义在一个与其名称相同且扩展名为 `.java` 的文件中。 - **编译与运行**:在编译过程中如果出现错误,通常是因为代码有语法问题或者类名与文件名不匹配等原因...
- **文件操作**:如何读写文件,了解File类和IO流的概念。 - **缓冲区**:使用BufferedReader和BufferedWriter提高输入输出效率。 6. **多线程**: - **线程的创建**:通过继承Thread类或实现Runnable接口创建...
输入流数据源 字节数组、String对象、文件、管道(暂时没有接触过)、一个由其他种类的流组成的序列、网络 每一个数据源都有其对应的子类 ByteArrayInputStream(字节数组,字节数组即代表内存缓冲区,允许将内存缓冲区...
- **流的概念**:输入流和输出流处理数据传输,如FileInputStream和FileOutputStream。 - **缓冲区**:NIO(New IO)引入缓冲区,提高I/O操作效率。 - **字符编码**:处理文本文件时,需注意字符编码问题,如GBK...
- `InputStream`:字节输入流的基类。 - `OutputStream`:字节输出流的基类。 - `Reader`:字符输入流的基类。 - `Writer`:字符输出流的基类。 #### 窗体的布局管理器 - `FlowLayout`:将组件按添加顺序从左到右、...