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

作者:Jeru Liu

日期:November 29,2000

版本:1.0

纪念在chinaasp积分过一百呕心原创一篇(Java 中对文件的读写操作之比较)拿分好难呀,555~~~,不知道那些几千分的老妖们是怎么灌水的。

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。

-------------------------------------------------------------- following is the source code of examples------------------------------------------------------

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();

}

}

}

java 二进制 文件比较_Java中对文件的读写操作之比较相关推荐

  1. java 获取文件权限_Java中的文件权限,检查权限和更改权限 - Break易站

    Java提供了许多方法调用来检查和更改文件的权限,例如可以将只读文件更改为具有写入权限.当用户想要限制文件允许的操作时,需要更改文件权限.例如,文件权限可以从写入更改为只读,因为用户不再想要编辑文件. ...

  2. Java pdf文件传输_java中pdf文件的管理(pdf文件转png文件,base64传输文件以及删除)...

    org.apache.pdfbox pdfbox 2.0.12 影像文件转为base64编码使用java自带的BASE64Encoder类 代码部分: 前端上传文件的保存: @RequestMappi ...

  3. java excel 导入导出_java中excel文件的导入和导出

    如有需要可以加我Q群[308742428]大家一起讨论技术,提供技术支持. 后面会不定时为大家更新文章,敬请期待. 前端上传excel文件到后台,后台接收后保存数据到数据库. 这里需要说明的一点是前端 ...

  4. java 对某个文件改名_java中给文件改名

    1.File   oldf   =   new   File(oldFileName); File   newf   =null; if   (oldf   !=   null)   { newf   ...

  5. java 二进制 表示负数_java中的负数表示

    下面这行代码的输出是什么? 1 public static void main(String[] args) { 2 System.out.println(0xffffffff); 3 } 下面两行代 ...

  6. java 获取剪切板_Java中有关剪切板的操作

    本地剪贴板只在当前虚拟机中有效.Java允许多个本地剪贴板同时存在,可以方便地通过剪贴板的名称来进行存取访问. 系统剪贴板与同等操作系统直接关连,允许应用程序与运行在该操作系统下的其它程序之间进行信息 ...

  7. Java:在网络路径中创建文件

    应用场景 使用Java语言在网络路径中创建文件. 实现 本地路径 首先在本地路径中创建文件的代码是这样的. import java.io.*; import java.text.CompactNumb ...

  8. php获取目录文件 排序输出,php实现对文件夹目录中的文件进行排序的方法

    php实现对文件夹目录中的文件按照时间.名称.大小进行排序的方法 函数介绍: opendir() 函数打开目录句柄. readdir() 函数返回目录中下一个文件的文件名. array_multiso ...

  9. oracle读写文件--利用utl_file包对磁盘文件的读写操作

    oracle读写文件--利用utl_file包对磁盘文件的读写操作 摘要: 用户提出一个需求,即ORACLE中的一个表存储了照片信息,字段类型为BLOB,要求能导出成文件形式. 本想写个C#程序来做, ...

最新文章

  1. pccs色卡_NCS色彩体系与PCCS色彩体系如何关联使用
  2. 【转载】基于Nios II的DMA传输总结(附源码)
  3. 什么叫做罗列式_极简罗列法怎么写作文
  4. Exchange管理之:使用Telnet发送邮件
  5. 想法越多越贫穷,赚钱的人,都是少想多干
  6. Android开发新手学习总结(一)——使用Android Studio搭建Android集成开发环境
  7. HTG评论Kobo Aura HD:不是Kindle,那还行
  8. Qt随机数生成器:QRandomGenerator
  9. python九宫格拼图_利用Python实现朋友圈中的九宫格图片效果
  10. restTemplate访问接口
  11. 报错Field Mapper in xxx.xxxServiceImpl required a bean of type ‘dao.xxxMapper‘ that could not be found
  12. xp任务栏不显示任务 vbs脚本
  13. MDCC王戈点爆全场:Smule乐器王是怎样炼成的
  14. 笔记本电脑黑屏基础处理
  15. 计算机系统的优点和缺点,关于ghost系统的解释以及优缺点分析
  16. 转贴:girdview分组,统计,排序的解决方案
  17. groovy脚本执行与优化
  18. 易通文件夹锁免费版 v4.5.8.06
  19. 浅谈人工智能、大数据等技术在交通领域的应用
  20. 全球当下最厉害的 14 位程序员!最后一位好年轻啊

热门文章

  1. 北京联合大学计算机学院在哪个校区,北京联合大学各校区联系地址大全
  2. matlab读取其他位置,将文件的数据读取到matlab中,进行编辑,然后将其保存到其他位置...
  3. unity asset store下载不了_Unity手游实战:从0开始SLG——资源管理系统-基础篇(三)AssetBundle原理...
  4. 图像处理 --- 二、数字图像处理基础
  5. python(c++)刷题+剑指offer
  6. 一篇文章带你搞懂 DEX 文件的结构
  7. Java8 Stream详解~遍历/匹配(foreach/find/match)
  8. Spring Data JPA 从入门到精通~@Query详解
  9. 微服务架构设计模式~识别系统操作
  10. 个别学生计算机辅导计划,网络学院计算机基础统考辅导计划.doc