无涯教程-Java - DataInputStream函数

86 阅读1分钟

以下是创建InputStream的构造函数-

InputStream in=new DataInputStream(InputStream in);

一旦有了 DataInputStream 对象,便会出现一系列帮助程序方法,可用于读取流或对该流执行其他操作。

Sr.No. Method & Remark
1

public final int read(byte [] r,int off,int len) throws IOException

从输入流中读取最多len个字节的数据到一个字节数组中。

2

public final int read(byte[] b) throws IOException

从输入流中读取一些字节,并将其存储到字节数组中。

3

(a) public final Boolean readBooolean()throws IOException

(b) public final byte readByte()throws IOException

(c) public final short readShort()throws IOException

(d) public final Int readInt()throws IOException

这些方法将从包含的InputStream中读取字节。

4

public String readLine() throws IOException

从输入流中读取下一行文本,它读取连续的字节,将每个字节分别转换为一个字符,直到遇到行终止符或文件结尾为止。

以下是演示DataInputStream和DataOutputStream的示例。 本示例读取文件test.txt中给出的5行,并将这些行转换为大写字母,最后将它们复制到另一个文件test1.txt中。

import java.io.*;
public class DataInput_Stream {

public static void main(String args[])throws IOException {

  </span><span class="com">//将字符串写入编码为修改后的 UTF-8 的文件</span><span class="pln">
  </span><span class="typ">DataOutputStream</span><span class="pln"> dataOut </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DataOutputStream</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">FileOutputStream</span><span class="pun">(</span><span class="str">"E:\\file.txt"</span><span class="pun">));</span><span class="pln">
  dataOut</span><span class="pun">.</span><span class="pln">writeUTF</span><span class="pun">(</span><span class="str">"learnfk"</span><span class="pun">);</span><span class="pln">

  </span><span class="com">//从同一个文件中读取数据</span><span class="pln">
  </span><span class="typ">DataInputStream</span><span class="pln"> dataIn </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">DataInputStream</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">FileInputStream</span><span class="pun">(</span><span class="str">"E:\\file.txt"</span><span class="pun">));</span><span class="pln">

  </span><span class="kwd">while</span><span class="pun">(</span><span class="pln">dataIn</span><span class="pun">.</span><span class="pln">available</span><span class="pun">()&gt;</span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
     </span><span class="typ">String</span><span class="pln"> k </span><span class="pun">=</span><span class="pln"> dataIn</span><span class="pun">.</span><span class="pln">readUTF</span><span class="pun">();</span><span class="pln">
     </span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">.</span><span class="kwd">print</span><span class="pun">(</span><span class="pln">k</span><span class="pun">+</span><span class="str">" "</span><span class="pun">);</span><span class="pln">
  </span><span class="pun">}</span><span class="pln">

} }

以下是上述程序的示例运行-

learnfk

参考链接

www.learnfk.com/java/java-d…