第2关:字节流-输入输出

编程要求

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:

  • 读取src/step2/input/目录下的task.txt文件信息并输出到控制台,使用Java代码将字符串learning practice写入到src/step2/output/目录下的output.txt,若文件目录不存在,则创建该目录。

注意:临时字节数组需要定义长度为8位,否则会有空格。

测试说明

补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

代码:

package step2;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class Task {
	
	public void task() throws IOException{
		/********* Begin *********/
		File file1 = new File("src/step2/input/task.txt");
		InputStream fs = new FileInputStream(file1);
		byte[] b1 = new byte[1024];
		fs.read(b1);
        String str1 = new String(b1, "utf-8");
		System.out.print(str1);
		fs.close();

		File file = new File("src/step2/output");
		if(!file.exists()){
			file.mkdir();
		}
		String file2 = "src/step2/output/output.txt";
		OutputStream out = new FileOutputStream(file2);
		String str2 = "learning practice";
		byte[] b2 = str2.getBytes(); //字符转化成字节
		out.write(b2);
		out.flush(); //刷新缓冲区数据(类似保存数据)
		out.close();
		/********* End *********/
	}
	
}

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2-1. 新建项目工程,工程名为CORE_C09_049: 2-1.1. 复制一个图片文件到当前项目工程的根目录下,命名为icon.png 2-1.2. 新建java类-CopyDemo01。 2-2. 创建复制图片文件的方法-copyImageFile: 2-2.1. 第一个入参是:需要复制的图片文件路径 2-2.2. 第二个入参是:复制后图片文件的保存路径 2-2.3. 无返回值 2-3. copyImageFile方法中实现图片文件复制: 2-3.1. 通过第一个入参,获取FileInputStream对象; 2-3.2. 通过第二个入参,获取FileOutputStream对象; 2-3.3. 创建byte[]变量,长度为2048,用于存放读取到的数据 2-3.4. 通过FileInputStream的read方法读取数据并保存到byte数组中 1) 把read方法的返回值赋值给int变量len。(返回值为read方法读取到的字节数) 2-3.5. 通过while循环,读取待复制图片数据并写入复制图片中: 1) 循环条件:读取到的数据长度不等于-1,即表示读取到有效数据; 2) 循环内容:通过FileOutputStream的write方法将读取到的缓存数据写入图片文件; 2-4. 循环结束后,闭文件资源: 2-4.1. 闭输出流资源:FileOutputStream。 2-4.2. 闭输入流资源:FileInputStream。 2-5. 抓取上述代码中抛出的FileNotFoundException和IOException。 3、验证与测试 3-1. 程序测试: 3-1.1. 创建程序入口函数-main 3-1.2. 调用copyImageFile方法,把当前项目工程下的图片文件icon.png复制到当前工程目录下 1) 原文件路径:icon.png 2) 目标文件路径:copyIcon.png 3-1.3. 运行该项目,观察能否能够实现图片的复制。
06-09
根据您提供的步骤,我可以帮您解释一下每个步骤的含义和作用,以及可能出现的问题和解决方法: 2-1. 新建项目工程,工程名为CORE_C09_049: 这一步是创建一个新的Java项目,命名为CORE_C09_049,用于实现图片文件复制功能。 2-1.1. 复制一个图片文件到当前项目工程的根目录下,命名为icon.png: 这一步是将一个图片文件复制到项目的根目录下,并将其命名为icon.png。如果原文件路径不正确,会导致后续操作无法进行。 2-1.2. 新建java类-CopyDemo01: 这一步是创建一个名为CopyDemo01的Java类,用于实现图片文件复制的方法。 2-2. 创建复制图片文件的方法-copyImageFile: 这一步是在CopyDemo01类中创建一个名为copyImageFile的方法,用于实现图片文件的复制。 2-2.1. 第一个入参是:需要复制的图片文件路径: 这个参数是需要复制的图片文件的路径,用于获取图片文件的输入流。 2-2.2. 第二个入参是:复制后图片文件的保存路径: 这个参数是复制后的图片文件的保存路径,用于获取图片文件的输出流。 2-2.3. 无返回值: 这个方法没有返回值,只负责实现图片文件的复制操作。 2-3. copyImageFile方法中实现图片文件复制: 这一步是在copyImageFile方法中实现图片文件的复制操作。 2-3.1. 通过第一个入参,获取FileInputStream对象: 这一步是通过第一个入参获取需要复制的图片文件的输入流。 2-3.2. 通过第二个入参,获取FileOutputStream对象: 这一步是通过第二个入参获取复制后的图片文件的输出流。 2-3.3. 创建byte[]变量,长度为2048,用于存放读取到的数据: 这一步是创建一个长度为2048的byte数组,用于存放从输入流中读取的数据。 2-3.4. 通过FileInputStream的read方法读取数据并保存到byte数组中: 这一步是通过FileInputStream的read方法读取数据,并将读取到的数据保存到byte数组中。 2-3.5. 通过while循环,读取待复制图片数据并写入复制图片中: 这一步是通过while循环,不断从输入流中读取数据,并将读取到的数据写入输出流中。 2-4. 循环结束后,闭文件资源: 这一步是在循环结束后,闭已经打开的文件资源。 2-4.1. 闭输出流资源:FileOutputStream。 这一步是闭输出流资源,释放系统资源。 2-4.2. 闭输入流资源:FileInputStream。 这一步是闭输入流资源,释放系统资源。 2-5. 抓取上述代码中抛出的FileNotFoundException和IOException。 这一步是抓取可能会发生的异常,包括文件未找到异常和IO异常,以防止程序出错或崩溃。 3、验证与测试 这一步是创建一个程序入口函数main,并在其中调用copyImageFile方法,将icon.png文件复制为copyIcon.png文件,测试程序是否能够实现图片的复制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值