`
zfyy04
  • 浏览: 5919 次
  • 性别: Icon_minigender_1
  • 来自: 四川成都
社区版块
存档分类
最新评论

Java 文本文件和二进制文件的读取(转)

阅读更多

一,文本文件的读取 

1,FileInputStream:按字节读取文件 
1.1,导入包 
import java.io.FileInputStream; 
java.io.InputStream; 
import java.io.*; 
1.2,生成一个InputStream对象 
InputStream in = new FileInputStream("myfile//a.txt");//("myfile//a.txt",true),写入的内容追加在原有内容的后面,不覆盖 
1.3,一个一个字节地读取文件内容 
try { 
      int size = in.available(); 
      char x[] = new char[200]; 
      for (int i = 0; i < size; i++) { 
        x[i] = (char)in.read(); 
        System.out.print(x[i]); 
      } 
    } 
    catch (IOException ex1) { 
      ex1.printStackTrace(); 
    } 
1.4,关闭对象 
finally{ 
      try { 
        in.close(); 
      } 
      catch (IOException ex2) { 
        ex2.printStackTrace(); 
      } 
    } 
================================================= 

2,FileOutputStream:按字节写入文件 
2.1,导入包 
import java.io.*; 
2.2,声明一个OutputStream引用 
OutputStream out =null; 
2.3,构造一个OutputStream对象,并在其中写入内容 
try { 
     out = new FileOutputStream("b.txt"); 
    String str ="java终于完了"; 
    byte[] b = str.getBytes(); 
    try { 
      out.write(b, 0, b.length); 
    } 
    catch (IOException ex1) { 
      ex1.printStackTrace(); 
    } 
2.4,关闭对象 
finally{ 
    try { 
      out.close(); 
    } 
    catch (IOException ex2) { 
      ex2.printStackTrace(); 
    } 
  } 

================================= 

3,BufferedReader:按字符读取内容 
3.1,导入包 
import java.io.*; 
3.2,声明一个FileReader和BufferedReader的引用 
FileReader fr  = null; 
BufferedReader buf =null; 
3.3,构造一个FileReader和BUfferedReader的对象 
fr = new FileReader("myfile//a.txt"); 
buf = new BufferedReader(fr); 
3.4,按行读取文件内容 
try { 
    String s = buf.readLine(); 
    while(s!=null) 
    { 
      System.out.println(s); 
      s =buf.readLine(); 

    } 
  } 
  catch (IOException ex1) { 
    ex1.printStackTrace(); 
  } 
3.5,关闭对象连接 
finally{ 
    try { 
      buf.close(); 
      fr.close(); 
    } 
    catch (IOException ex2) { 
      ex2.printStackTrace(); 
    } 
  } 

==================================== 

4,BufferWriter:按字符写入内容 
4.1,导入包 
import java.io.*; 
4.2,声明一个FileWriter和BufferedWriter的引用 
FileWriter fw  = null; 
      BufferedWriter buf = null; 
4.3,构造一个FileWriter和BUfferedWriter的对象,并写入内容 
try { 
     fw = new FileWriter("c.txt"); 
     buf = new BufferedWriter(fw); 
    buf.write("你好!!"); 
  } 
  catch (IOException ex) { 
    ex.printStackTrace(); 
  } 
4.4,关闭对象连接 
finally{ 
    try { 
      buf.close(); 
      fw.close(); 
    } 
    catch (IOException ex1) { 
      ex1.printStackTrace(); 
    } 
  } 

==================================== 

二,二进制文件的读写 
1,导入包 
import java.io.*; 
2,生成FileInputStream,DataInputStream,FileOutputStream,DataOutputStream的对象 
FileInputStream fin = new FileInputStream("d://x.jpg"); 
     DataInputStream da = new DataInputStream(fin); 
     FileOutputStream fout = new FileOutputStream("e://b.jpg"); 
     DataOutputStream dout = new DataOutputStream(fout); 
3,写入数据 
   int temp ; 
    try { 
      while ( (temp = da.read()) != -1) { 
                   dout.write(temp); 
      } 
    } 
    catch (IOException ex1) { 
      ex1.printStackTrace(); 
    } 
4,关闭连接 
finally{ 
    try { 
fin.close(); 
       da.close(); 
   fout.close(); 
dout.close(); 
    } 
    catch (IOException ex2) { 
      ex2.printStackTrace(); 
    } 
  }

5 将文件转成二进制流,然后进行写入数据操作

public class IOTest

{

public static void main(String[] args) throws FileNotFoundException

{

FileOutputStream fout = new FileOutputStream("e:\\2.xls");

DataOutputStream dout = new DataOutputStream(fout);

byte[] buffer = getByteFromFile("c:\\1.xls");

int count, i;

try

{

for (i = 0; i < buffer.length; i++)

{

dout.write(buffer[i]);

}

}

catch (IOException e)

{

e.printStackTrace();

}

finally

{

try

{

fout.close();

dout.close();

}

catch (IOException ex2)

{

ex2.printStackTrace();

}

}

 

}

 

private static byte[] getByteFromFile(String file)

{

File f = new File(file);

if (f == null)

{

return null;

}

try

{

FileInputStream stream = new FileInputStream(f);

ByteArrayOutputStream out = new ByteArrayOutputStream(1024);

byte[] b = new byte[1024];

int n;

while ((n = stream.read(b)) != -1)

out.write(b, 0, n);

stream.close();

out.close();

return out.toByteArray();

}

catch (IOException e)

{

}

return null;

 

}

}

分享到:
评论

相关推荐

    java 将文件中二进制文件转换成文本文本文件并输出

    在Java编程语言中,将二进制文件转换为文本文档通常涉及到字符编码的理解和处理。二进制文件可以包含任何类型的数据,如图像、音频、视频或纯文本,但以非可读格式存储。而文本文档通常使用特定的字符编码(如ASCII...

    java 二进制文件的读写操作

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

    java二进制读取文本文件

    用二进制流的方式读取本地文本文件.txt

    文件转换为二进制流

    文本字符串与byte[], 整个物理文件与byte[], 物理文件内容与byte[], stream与byty[] 之间的相互转换。 从磁盘读取文件,将文件写入磁盘。

    二进制文件的读取与写入

    总的来说,理解和掌握二进制文件的读取和写入对于任何程序员来说都是至关重要的,尤其是在处理大量非文本数据和确保数据安全的场景下。通过适当的技术和策略,我们可以高效地操作二进制文件,并保护其中的信息不被...

    读取二进制文件,JframeChart曲线图,查看文件修改时间

    1. **读取二进制文件**:二进制文件是一种非文本文件,通常包含计算机可以直接理解和处理的数据,如图片、音频、视频或程序文件。在Java中,读取二进制文件通常使用`java.io`包中的`FileInputStream`类。通过创建`...

    java读取二进制文件

    在Java中,可以通过多种方式来读取二进制文件,其中最常用的是使用`FileInputStream`和`DataInputStream`类。这两种类都位于`java.io`包中。 1. **`FileInputStream`**:提供了基本的字节流输入功能。 2. **`...

    JavaScript读二进制文件并用ajax传输二进制流的方法

    在JavaScript中,处理二进制文件并使用Ajax传输二进制流是一项常见的任务,尤其是在进行文件上传或数据传输时。由于浏览器之间的差异,实现这一功能需要考虑不同的API和兼容性问题。以下是一份详细的指南,涵盖了...

    JAVA中读取文件(二进制,字符)内容的几种方法总结

    在Java编程语言中,读取文件内容是常见的操作,无论是处理二进制文件(如图像、音频或视频),还是处理文本文件(如日志、配置文件或源代码)。本篇文章将详细总结两种主要的文件读取方式:按字节读取和按字符读取。...

    将图片转成二进制并生成Base64编码字符串,再将二进制转换成各种图片

    而Base64是一种用于将二进制数据转换为可打印ASCII字符的编码方法,它将每3个字节的二进制数据转换为4个Base64字符,这样可以在文本格式中安全地传输和存储非文本数据,如图片。 在Java编程语言中,我们可以使用...

    java判断一个文件是否为二进制文件的方法

    在Java编程中,判断一个文件是否为二进制文件是一个常见的需求,这通常涉及到文件的读取和编码分析。二进制文件与文本文件的主要区别在于它们的数据存储方式:二进制文件通常包含非打印字符,如图像、音频、视频等非...

    16进制转文件.zip

    总的来说,16进制转文件是将二进制数据以人类可读的形式表示并恢复为原始文件的过程,它在各种IT应用中都扮演着关键角色,而`16进制转文件.java`则是一个具体的实现示例,展示了如何使用编程语言实现这一功能。

    bin文件转换成十六进制数组

    然而,直接读取和操作二进制文件在某些情况下并不方便,尤其是当我们需要在源代码中引用这些数据时。 十六进制(Hex)是一种便捷的数值表示方式,每个字符代表四位二进制,因此两个字符就能表示一个字节(8位)。在...

    MP3音乐txt文件转16进制代码工具

    标题提到的"MP3音乐txt文件转16进制代码工具"就是这样一个实用程序,它帮助开发者将MP3音乐文件和TXT文本文件转化为16进制格式,便于在资源有限的单片机环境中存储和播放。 首先,我们来了解MP3音乐文件。MP3是一种...

    打开二进制的软件 java

    与文本文件不同,二进制文件中的数据不以字符编码(如ASCII或UTF-8)的形式存在,而是以特定格式排列的0和1序列。 在Java中,我们通常使用`java.io`包中的类来处理二进制文件。主要有以下几种方法: 1. **使用...

    读取文件中的二进制文件 将输出到新的文件夹里

    本教程将详细介绍如何使用Java语言读取二进制文件并将其内容输出到新的文件夹中。 首先,我们要理解Java中的File类,这是操作文件的基础。File对象可以表示文件或目录路径,用于创建、删除、重命名文件以及获取文件...

    华为CDR话单二进制文件转换成对应的可读文件txt格式

    1. 使用T.java解析器读取二进制CDR文件,可能通过逐字节或按块读取的方式。 2. 解析过程中,根据二进制格式转换各个字段。例如,可能需要将二进制数据转换成十进制或字符串形式。 3. 将解析出的数据封装到Java Bean...

    读取文件的2进制数据

    - ZIP和RAR等压缩格式将多个文件打包成一个二进制文件,通常需要使用专门的库(如Python的`zipfile`或`rarfile`模块)来读取和解压。解压后,我们可以逐个读取每个子文件的二进制数据。 - 在处理压缩包内的二进制...

    java读取图片并转化为二进制字符串的实现方法

    Java读取图片并转化为二进制字符串的实现方法是一个涉及到文件操作、字节流处理、Base64编码和解码的技术话题。本文将详细介绍上述过程的步骤和关键知识点。 首先,我们需要了解Java中处理文件读写的基本类,比如`...

    中文转二进制的Java小工具

    本文将详细探讨如何使用Java实现“中文转二进制”的功能,这是计算机科学中一种常见的文本编码处理。 首先,我们需要理解中文字符在计算机中的表示方式。中文字符通常使用Unicode编码标准来表示,Unicode包含了世界...

Global site tag (gtag.js) - Google Analytics