Java字节流(读文件,写文件,读写文件)

客官°小女子只卖身不卖艺 2022-11-20 03:56 389阅读 0赞

字节流可以读取任何文件,字符流只能读取文本文件。

1、字节流读文件

  1. package com.Java字节流;
  2. import java.io.File;
  3. import java.io.FileInputStream;
  4. public class TestInputStream {
  5. public static void main(String[] args) throws Exception{
  6. File file = new File("C:\\Users\\Desktop\\InputStream.txt");
  7. if(file.isFile()) {
  8. //创建输入流,需要指定数据源(文件路径)
  9. FileInputStream fileIn = new FileInputStream(file);
  10. //读
  11. //方法一:read() 从该输入流读取一个字节的数据。
  12. /* int i = fileIn.read(); while(i!=-1) { System.out.println((char)i); i = fileIn.read(); //读取数据的下一个字节,如果达到文件的末尾,返回值为 -1 。 }*/
  13. /*方法二:read(byte[] b) 参数:b - 读取数据的缓冲区。 byte[] bs =new byte[14]; int i = fileIn.read(bs); //从该输入流读取最多bs.length字节的数据到字节数组。 while(i!=-1) { System.out.println(new String(bs)); //将读出的字节数组转化为字符串输出 i = fileIn.read(bs); }*/
  14. /*方法三 read(byte [] b , off , len) 参数说明: b - 读取数据的缓冲区。 off - 目标数组 b的起始偏移量 len - 读取的最大字节数。 */
  15. byte[] bs =new byte[14];
  16. int i = fileIn.read(bs, 0, 14);
  17. while(i!=-1) {
  18. //将读出的字节数组,转化为字符串输出
  19. System.out.println(new String(bs));
  20. i = fileIn.read(bs, 0 , 14);
  21. }
  22. }else {
  23. System.out.println("文件不存在");
  24. }
  25. }
  26. }

2、字节流写文件

  1. package com.Java字节流;
  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. public class TestOutStream {
  6. public static void main(String[] args) throws IOException {
  7. File file = new File("C:\\Users\\Desktop\\OutStream.txt");
  8. // 创建输出流
  9. FileOutputStream fileOut = new FileOutputStream(file);
  10. // 写 , 会覆盖文件内容
  11. //方法一 :write(int b) 将指定的字节(参数 b的低8位)写入底层输出流。
  12. fileOut.write(97);// 实际上写入字符a
  13. fileOut.write(98);// 实际上写入字符b
  14. //方法二:write(byte []) 将指定的字节数组写入输出流
  15. String string = "I love learning Java";
  16. byte[] bs = string.getBytes(string);
  17. fileOut.write(bs);
  18. //方法三:write(byte[] b, int off, int len) 写入 len从指定的字节数组起始于偏移 off基础输出流。
  19. fileOut.write(bs, 0, 14);
  20. }
  21. }

3、字节流读写文件

  1. package com.Java字节流;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. public class TestCopy {
  5. public static void main(String[] args) throws Exception{
  6. //创建输入流和输出流
  7. FileInputStream fileIn = new FileInputStream("C:\\Users\\Desktop\\InStream.txt");
  8. //创建输出流
  9. FileOutputStream fileOut = new FileOutputStream("C:\\Users\\Desktop\\OutStream.txt");
  10. //读写
  11. byte[] bs = new byte[5];
  12. int i = fileIn.read(bs);
  13. while(i!=-1) {
  14. fileOut.write(bs,0,i);
  15. i = fileIn.read(bs);
  16. }
  17. //后打开的先关闭
  18. fileOut.close();
  19. fileIn.close();
  20. }
  21. }

发表评论

表情:
评论列表 (有 0 条评论,389人围观)

还没有评论,来说两句吧...

相关阅读

    相关 使用节流/文件

    Java 的 I/O 流提供了一条通道,这条通道可以把数据送给目的地。输入流的指向称作源,程序从指向源的输入流中读取源中的数据。输出流的指向是数据要去的目的地,程序通过向输出流

    相关 使用节流/文件

    Java 的 I/O 流提供了一条通道,这条通道可以把数据送给目的地。输入流的指向称作源,程序从指向源的输入流中读取源中的数据。输出流的指向是数据要去的目的地,程序通过向...