`
kornnet
  • 浏览: 22950 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java 中对文件的读写操作之比较(转)

    博客分类:
  • java
 
阅读更多
Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,我觉得有必要将各种方法进行一次分析,归类,理清不同方法之间的异同点。

一.在 JDK 1.0 中,通常是用 InputStream & OutputStream 这两个基类来进行读写操作的。InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在OutputStream 中我们有 FileOutputStream 这个对象。
用FileInputStream 来读取数据的常用方法是:FileInputStream fstream = new FileInputStream(args[0]);DataInputStream in = new DataInputStream(fstream);
用 in.readLine() 来得到数据,然后用 in.close() 关闭输入流。完整代码见Example 1。
用FileOutputStream 来写入数据的常用方法是:FileOutputStream out out = new FileOutputStream(myfile.txt);PrintStream p = new PrintStream( out );
用 p.println() 来写入数据,然后用 p.close() 关闭输入。完整代码见 Example 2。

二.在 JDK 1.1中,支持两个新的对象 Reader & Writer, 它们只能用来对文本文件进行操作,而JDK1.1中的 InputStream & OutputStream 可以对文本文件或二进制文件进行操作。
用FileReader 来读取文件的常用方法是:FileReader fr = new FileReader(mydata.txt);BufferedReader br = new BufferedReader(fr);
用 br.readLing() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。完整代码见 Example 3。
用 FileWriter 来写入文件的常用方法是:FileWriter fw = new FileWriter(mydata.txt);PrintWriter out = new PrintWriter(fw);
在用out.print 或 out.println 来往文件中写入数据,out.print 和 out.println的唯一区别是后者写入数据或会自动开一新行。写完后要记得 用out.close() 关闭输出,用fw.close() 关闭文件。完整代码见 Example 4。



Example 1:// FileInputDemo
// Demonstrates FileInputStream and DataInputStream
import java.io.*;

class FileInputDemo {
public static void main(String args[]) {
// args.length is equivalent to argc in C
if (args.length == 1) {
try {
// Open the file that is the first command line parameter
FileInputStream fstream = new FileInputStream(args[0]);
// Convert our input stream to a DataInputStream
DataInputStream in = new DataInputStream(fstream);
// Continue to read lines while there are still some left to read
while (in.available() !=0) {
// Print file line to screen
System.out.println (in.readLine());
}
in.close();
} catch (Exception e) {
System.err.println(File input error);
}
}
else
System.out.println(Invalid parameters);
}
}

Example 2:
// FileOutputDemo
// Demonstration of FileOutputStream and PrintStream classes
import java.io.*;

class FileOutputDemo
{
public static void main(String args[]) {
FileOutputStream out; // declare a file output object
PrintStream p; // declare a print stream object

try {
// connected to myfile.txt
out = new FileOutputStream(myfile.txt);
// Connect print stream to the output stream
p = new PrintStream( out );
p.println (This is written to a file);
p.close();
} catch (Exception e) {
System.err.println (Error writing to file);
}
}
}

Example 3:
// FileReadTest.java
// User FileReader in JDK1.1 to read a file
import java.io.*;

class FileReadTest {
public static void main (String[] args) {
FileReadTest t = new FileReadTest();
t.readMyFile();
}

void readMyFile() {
String record = null;
int recCount = 0;
try {
FileReader fr = new FileReader(mydata.txt);
BufferedReader br = new BufferedReader(fr);
record = new String();
while ((record = br.readLine()) != null) {
recCount++;
System.out.println(recCount + : + record);
}
br.close();
fr.close();
} catch (IOException e) {
System.out.println(Uh oh, got an IOException error!);
e.printStackTrace();
}
}

}

Example 4:
// FileWriteTest.java
// User FileWriter in JDK1.1 to writer a file
import java.io.*;

class FileWriteTest {
public static void main (String[] args) {
FileWriteTest t = new FileWriteTest();
t.WriteMyFile();
}

void WriteMyFile() {
try {
FileWriter fw = new FileWriter(mydata.txt);
PrintWriter out = new PrintWriter(fw);
out.print(“hi,this will be wirte into the file!”);
out.close();
fw.close();
} catch (IOException e) {
System.out.println(Uh oh, got an IOException error!);
e.printStackTrace();
}
}

}
分享到:
评论
1 楼 yyjn12 2008-02-20  
此帖不具备可读性,谢谢.

相关推荐

    Java 中对文件的读写操作之比较

    #### 一、JDK 1.0 中的文件读写操作 在JDK 1.0 中,主要依赖于`InputStream`和`OutputStream`两个基类来实现文件的读写功能。 1. **读操作**: - 使用`FileInputStream`作为文件的句柄,通过该类可以实现对文件的...

    java实现文件的读写操作

    总结,Java中的文件读写操作涉及到多个类和接口,理解并熟练运用它们是每个Java开发者必备的技能。通过上述介绍和示例,你应该对Java的文件操作有了基本的认识。实践中,你可以根据具体需求选择合适的方法和类,实现...

    java 二进制文件的读写操作

    在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类来实现二进制文件的读写,并提供...

    java文件读写操作

    在Java编程语言中,文件读写操作是程序与外部数据交互的基本能力。这篇学习笔记将带你初探这个领域,适合新手入门。我们将讨论如何使用Java进行文件的读取、写入以及一些常见的应用场景。 首先,Java提供了java.io...

    使用Java实现对dbf文件的简单读写

    使用 Java 实现对 dbf 文件的简单读写 Java 是一种广泛使用的编程语言,对于读写 dbf 文件具有重要的应用价值。本文将介绍使用 Java 实现对...通过上述代码实现,可以实现对 dbf 文件的读写操作,满足实际应用的需求。

    java Apache poi 对word doc文件进行读写操作

    在实际应用中,Apache POI 的功能不仅限于简单的读写操作,还支持复杂的格式转换、样式调整和模板填充等功能,是 Java 开发者处理 Word 文件的强大工具。然而,需要注意的是,由于 `.doc` 文件格式的复杂性,处理...

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

    综上所述,多线程在Java文件读写操作中能够显著提升效率,但同时也带来了线程安全、资源管理和异常处理等挑战。合理利用Java提供的并发工具和I/O库,结合性能调优,可以使程序在处理大量文件操作时更加高效和稳定。

    Java 基于对本地文件读写操作完成的登陆注册

    在本项目中,"Java 基于对本地文件读写操作完成的登陆注册"是一个适合初学者的简单课程设计,旨在让学生理解如何利用Java语言处理文件读写操作来实现登录注册功能,而不依赖数据库。这个小Demo的核心是利用IO(Input...

    java 随机读写Java类文件

    在Java编程中,随机读写Java类文件是一个高级主题,涉及到对字节码级别的操作,通常用于类的动态加载、代码注入或者逆向工程等场景。以下是对这一主题的详细阐述: 1. **Java类文件结构**:首先,了解Java类文件的...

    JAVA 操作文件,读写。

    在Java编程语言中,文件操作是一项基础且重要的任务,涵盖了读取、写入、复制、移动和删除等操作。在这个程序中,我们关注的是如何使用Java的IO流(Input/Output Stream)来读取多个TXT文件的内容,并将其合并到一个...

    java对csv文件进行读写操作

    下面我们将详细探讨如何使用Java和`javacsv`库对CSV文件进行读写操作。 **1. 添加javacsv依赖** 在进行读写操作前,你需要将`javacsv.jar`添加到项目类路径中。如果是Maven项目,可以将依赖项添加到pom.xml文件中...

    读写文件操作demo-java

    在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。本示例"读写文件操作demo-java"旨在教你如何使用Java进行文件的读取和写入,这对于处理数据存储、日志记录或是任何需要与磁盘交互的应用程序至关重要...

    Java写的关于INI文件读写,以及其它操作

    在这个项目中,可能包含了`JTextField`用于输入键和值,`JTextArea`显示文件内容,`JButton`执行读写操作,`JList`或`JTree`展示文件结构,以及可能的`JOptionPane`用于显示消息或确认操作。 5. **文件操作**: 对...

    java操作文件读写

    在Java编程语言中,文件操作是一项基础且重要的任务,涵盖了从简单的文本文件读写到复杂的二进制数据处理。本文将深入探讨Java中各种文件读写的方式,以及如何在读写Word文档时解决可能出现的乱码问题。 首先,Java...

    JAVA IO流文件读写大全下载

    本文将对JAVA IO流文件读写的知识点进行详细的解释和分析。 1. JAVA IO流的分类 JAVA IO流可以分为两大类:字节流和字符流。 * 字节流:以字节为单位进行读写操作,主要用来处理二进制文件,如图片、音频、视频等...

    JAVA简单的读写文本文件的代码

    通过上述四个主要部分的分析,我们可以看到Java语言在处理文件读写方面提供了丰富的API支持。使用合适的类库可以极大地简化开发工作并提高程序的性能。例如,使用`StringBuffer`可以有效地处理字符串的动态增长;而`...

Global site tag (gtag.js) - Google Analytics