今天搞了下java文件的读写,自己也总结了一下,但是不全,只有两种方式,先直接看代码:
public static void main(String[] args) throws IOException { io(); buffer(); } /** * 以流的形式读写 可以使用任何文件 特别是二进制文件 * * @author hh * @date 2014-12-11 * @throws IOException */ public static void io() throws IOException { String fname = "C:/Users/Administrator/Desktop/T.jar"; String fname2 = "C:/Users/Administrator/Desktop/T2.rar"; File file = new File(fname); File file2 = new File(fname2); FileInputStream in = new FileInputStream(file); FileOutputStream out = new FileOutputStream(file2); byte[] bytes= new byte[2048]; int k = 0; while((k=in.read(bytes))!=-1){ out.write(bytes); /*for (int i = 0; i < bytes.length; i++) {//这样效率很低 out.write(bytes[i]); }*/ } /*或者 * int b = 0 ; while((b=in.read())!=-1) { out .write(b); } */ out.close(); in.close(); System.out.println("end"); } /** * 以字符的形式读写 实用文文本文件 * 不适用与压缩等二进制文件 否者写出来的文件会比源文件大 * @author hh * @date 2014-12-11 * @throws IOException */ public static void buffer() throws IOException { String fname = "C:/Users/Administrator/Desktop/1234.txt"; String fname2 = "C:/Users/Administrator/Desktop/kk.txt"; File file = new File(fname); InputStreamReader read = new InputStreamReader(new FileInputStream(file),"GBK");//解决中文乱码 //FileReader read = new FileReader(file); 也可以直接使用FileReader 但是会出想中文乱码 FileWriter fw = new FileWriter(fname2); BufferedReader bufferedReader = new BufferedReader(read); BufferedWriter b = new BufferedWriter(fw); String s =null; while ((s = bufferedReader.readLine()) !=null) { System.out.println(s); b.write(s); b.newLine();//换行 b.flush(); } b.close(); read.close(); fw.close(); System.out.println("---end"); }
第一种使用的是FileInputStream和FileOutputStream,这种方式是直接使用io流读数据。不管什么文件可以搞定。但是缺点是没读一次就要进行一次io操作,若是文件大了,销量很低。
第二种使用BufferedReader 和BufferedWrite。与前面的区别是使用了缓存,读取的是字符(FileInputStream是字节)。所以之前在使用BufferedReader 和BufferedWrite复制一个压缩文件时,复制后的文件总是原文件大小的2倍。
相关推荐
在这个场景中,我们关注的是“java文件读写”,特别是读取`properties`配置文件和处理目录及文件的操作。下面我们将详细探讨这两个主题。 首先,`properties`配置文件是Java应用中常用的一种存储配置信息的方式。...
### Java文件读写知识点 #### 一、获取控制台用户输入信息 在Java中,可以通过`System.in`来获取用户的输入。以下是一个简单的示例,它演示了如何从控制台接收用户输入并将其转换为字符串。 ```java public ...
- 在进行文件操作时,无论采用哪种方式都需要注意异常处理,例如文件不存在、权限不足等情况。 综上所述,在选择合适的文件读写方式时,应根据具体的应用场景和需求来决定。对于需要处理大量文本数据的情况,推荐...
这两种方式适用于二进制数据的读取与写入。 - **InputStream** 作为读取数据的基础类,其派生类 `FileInputStream` 被用来读取文件中的数据。 - **OutputStream** 作为写入数据的基础类,其派生类 `...
通过上述四个主要部分的分析,我们可以看到Java语言在处理文件读写方面提供了丰富的API支持。使用合适的类库可以极大地简化开发工作并提高程序的性能。例如,使用`StringBuffer`可以有效地处理字符串的动态增长;而`...
### Java文件读写的初步学习 #### 知识点一:Java文件读取 Java提供了多种方式来读取文件,其中`FileInputStream`和`InputStreamReader`是两种常见的用于读取文本文件的方法。在给定的部分内容中,`ReadSettings`...
标题提及的“java读写hdf5格式文件需要使用的库”主要包括两个部分:Java接口库和操作系统特定的动态链接库。这里提供的jar文件`hdf5-3.3.2.jar`是Java接口库,它封装了对HDF5文件的操作,使得Java程序员可以通过...
在IT行业中,数据库文件格式是数据存储和交换的重要方式之一,DBF(dBase File Format)就是其中一种常见的表格数据格式,尤其在早期的桌面数据库系统中广泛应用。本篇文章将详细探讨如何使用Java来读写DBF文件,...
Java的IO流是Java平台提供的一种处理输入输出数据的重要机制,尤其在文件读写方面,它扮演着核心角色。对于初学者来说,理解和掌握Java IO流的使用是学习Java编程的基础,也是进阶到更复杂系统开发的关键一步。 ...
Java文件、文件夹权限修改的两种方法 在Java中,文件和文件夹权限的修改是非常重要的,特别是在Linux和Unix系统下。今天,我们将介绍两种修改文件和文件夹权限的方法,即使用File类和NIO方式。 使用File类 File类...
本项目“利用JAVA文件读写流编写的学生点名系统”旨在实现一个简单但实用的系统,用于记录和管理学生出勤情况。在大学课程报告中,这种系统可以帮助教师更有效地追踪学生的出席状况。 首先,我们需要了解Java中的...
"JAVA文件读写例题实现过程解析" JAVA文件读写是Java编程语言中最基本也是最重要的输入/输出机制之一。通过文件读写,程序可以将数据持久化到磁盘中,从而实现数据的长期保存和交换。JAVA文件读写例题实现过程解析...
Java提供了两种基本的字节流接口:`InputStream` 和 `OutputStream`。`InputStream` 用于读取数据,而 `OutputStream` 用于写入数据。它们都是抽象类,提供了一些基本的读写方法,如 `read()` 和 `write()`。 2. *...
综上所述,基于Java注解和反射机制的Excel文件读写操作方法是一种将面向对象的编程理念应用于数据操作的有效方式。通过这种方式,我们能够以声明式的方式定义数据结构与Excel文件格式之间的映射,从而简化了代码,...
* 打开文件有两种方式:使用 `fstream` 类的构造函数或使用 `open` 函数。 * 写文件时,需要使用 `write` 函数,参数为 `(const char * ch, int size)`,需要将要写入文件的变量转换成 `char *` 类型。 * 读文件时,...
4. **处理BOM头**:UTF-8有带BOM和不带BOM两种形式,如果文件开头带有BOM标记,可能需要在读取时进行特殊处理,因为某些库可能不支持带BOM的UTF-8。 5. **使用第三方库**:有一些Java库,如OpenCSV、Apache Commons...
Android系统提供了两种类型的权限:正常权限和危险权限。 1. 正常权限:这类权限对应用的功能影响较小,系统会在安装时自动授予。例如,访问网络(INTERNET)就是一种正常权限。 2. 危险权限:这类权限涉及用户的...
### 深潜数据海洋:Java文件读写全面解析与实战指南 #### 第一章:走进文件流的世界 —— 字节与字符的交响 在Java中,文件读写是通过流来实现的,流是一种从源头到目的地的数据传输通道。Java支持两种基本类型的...
### Java复制文件的四种方式详解 #### 概述 在Java开发过程中,文件操作是一项基本且重要的任务。其中,文件复制是经常需要用到的功能之一。尽管Java标准库并未直接提供一个简单的方法来复制文件,但开发者可以...