java中IO流代码实例分析

本文介绍了一个使用Java进行文件操作的示例程序,包括文件的读取、写入、删除及替换内容等基本功能,并演示了如何复制文件。通过具体代码展示了如何利用FileReader、FileWriter、BufferedReader和BufferedWriter等类实现对文件的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.BufferedWriter; 

 import java.io.File;

 import java.io.FileInputStream;

 import java.io.FileOutputStream;

 import java.io.FileReader;

 import java.io.FileWriter;

 import java.io.IOException;

 import java.io.InputStream;

 import org.junit.Test; 

 public class TestStream { 

 // 读取文件中字符

  @Test 

  public void testRead() throws IOException {

  String path = "read.txt";

  FileReader read = new FileReader(path); 

  BufferedReader reader = new BufferedReader(read); 

  while (reader.readLine() != null) { 

  String s = reader.readLine(); 

 System.err.println(s);

 }

  reader.close(); 

 }

 // 写入字符到文件

  @Test 

  public void testWrite() throws IOException { 

  String path = "write.txt";

  FileWriter write = new FileWriter(path);

  BufferedWriter writer = new BufferedWriter(write);

char[] buffer = new char[1024]; 

  for (int i = 0; i < 1024; i++) { 

  if ((char) 'a' + i > Character.MAX_VALUE) { 

 buffer[i] = 'z'; System.err.println(1);

  } else {

  buffer[i] = (char) ('a' + i);

 }

 }

  writer.write(buffer); 

  writer.close();

 } 

 // 删除文件内容

  @Test 

  public void testDelete() throws IOException {

  String path = "write.txt";

 FileWriter write = new FileWriter(path);

  BufferedWriter writer = new BufferedWriter(write); 

  StringBuffer buffer = new StringBuffer();

  writer.write(buffer.toString()); 

  writer.close(); 

 } 

 // 替换内容

  @Test 

  public void testDeleteAndReplace() throws IOException { 

  String path = "write.txt"; 

  FileWriter write = new FileWriter(path); 

 BufferedWriter writer = new BufferedWriter(write);

  int i = 0; 

  while (++i < 100) {

  StringBuffer buffer = new StringBuffer(); 

  buffer.append(Math.random()); 

  writer.write(buffer.toString() + "\r\n"); 

 } 

  writer.close(); 

 } 

 // 拷贝一个文件内容到另一个文件 

  @Test 

  public void copyFile(String oldPath, String newPath) {

  try { 

 int byteread = 0; 

 File oldfile = new File(oldPath);

 if (oldfile.exists()) 

}

 //文件存在时 

  InputStream inStream = new FileInputStream(oldPath);

 //读入原文件 

  FileOutputStream fs = new FileOutputStream(newPath);

 byte[] buffer = new byte[100];

  while ((byteread = inStream.read(buffer)) != -1) {

  fs.write(buffer, 0, byteread); 

 } 

 inStream.close();

  fs.close();

 }

 } catch (Exception e) { 

 e.printStackTrace(); 

 } 

 }

 //读取字符流 

  @Test

  public static void testReadByte() {

  String path = "write.txt"; 

  File file = new File(path);

  InputStream in = null;

  try { 

 // 一次读一个字节

  in = new FileInputStream(file);

  int tempbyte; 

  while ((tempbyte = in.read()) != -1) {

  System.out.write(tempbyte);

 } 

  in.close(); 

 } catch (IOException e) {

  e.printStackTrace(); 

  return; 

 } 

 try { 

 // 一次读多个字节

 byte[] tempbytes = new byte[100]; 

  int byteread = 0; 

  in = new FileInputStream(path); 

  while ((byteread = in.read(tempbytes)) != -1) { 

  System.out.write(tempbytes, 0, byteread);

 } 

 } catch (Exception e1) { 

  e1.printStackTrace(); 

 } finally { 

 if (in != null) { 

  try { 

  in.close();

  } catch (IOException e1) {

 } 

 } 

 } 

 } 

 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值