JAVA输入输出流

JAVA输入输出流



一、实验目的

利用文件字节流和文件字符流的构造方法创建对象,通过read和write方法对数据进行读取和写入,对实验中出现的问题进行分析,确定调试步骤和测试方法,直至文件读写操作成功。

二、实验步骤

1)编写应用程序,创建文件对象
2)通过文件字节输入流和输出流,完成文件内容的读取和写入操作
3)通过文件字符输入流和输出流,完成文件内容的写入和读取操作
4)实现上述功能

二级标题

三级标题

四级标题
五级标题
六级标题

三、使用步骤

1.实现代码

Mainclass.java
  import java.io.*;
public class Mainclass {
  public static void main(String[] args) {
		// TODO 自动生成的方法存根
   File f1 = new File("D:\\shiyan","hello.txt"); //创建文件对象f1
     File f2 = new File("D:\\shiyan","nice.txt"); //创建文件对象f2
     if(!f1.exists()) {
                     try{
    	f1.createNewFile();
    	System.out.println("f1创建成功!");
    	 }
                        catch(IOException ep) {}
     }
     if(!f2.exists()) {
                    try {
                        f2.createNewFile();
                        System.out.println("f2创建成功!");
    	 }
                       catch(IOException ep) {}
     }
     //使用文件字节输出流写文件
     byte[]a = "最锋利的剑的刀锋也无法与一颗和平的心的宁静相匹敌。".getBytes();
     byte[]b = "——沧浪剑圣".getBytes();
     try {
          FileOutputStream out = new FileOutputStream(f1);
          out.write(a);
          out.write(b, 0, b.length);
          out.close();
     }
     catch(IOException e) {
                           System.out.println("Error"+e);
     }
     //使用文件字节输出流读文件
     int n=-1;
     byte []m = new byte[100];
     try {
          FileInputStream in = new FileInputStream(f1);
          while((n=in.read(m,0,100))!=-1) {
          String s = new String(m,0,n);
          System.out.print(s);
    	 }
    in.close();
     }
     catch(IOException e) {
                            System.out.println("File read Error"+e);
     } 
     System.out.println();
     String c = "敌人虽众,一击斩之! ——沧浪剑圣";
     try {
           char []k=c.toCharArray();
           FileWriter out = new FileWriter(f2);//通过文件字符流写入数据
           out.write(k,0,k.length);
           out.close();
           FileReader in = new FileReader(f2);//通过文件字符流读出数据
           StringBuffer s = new StringBuffer();
           char tom[]=new char[30];
           while((n=in.read(tom,0,20))!=-1) {
           String temp = new String (tom,0,n);
           s.append(temp);
    	 }
     in.close();
     System.out.println((new String(s)));
     }
     catch(IOException e) {
                System.out.println(e.toString());
	}
     }
}

2.测试

创建文件对象f1,f2,同时如果文件不存在,程序自动创建,结果如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

提示:这里对文章进行总结:

1)在利用字符输入流写入数据时,没有关闭文件,导致写入的文件为空:通过 out.close();及时关闭文件来解决
2)写文件时直接使用文件路径导致错误:通过文件对象作为写入时的构造参数:FileWriter out = new FileWriter(f2)来解决办法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值