Educoder -Java高级特性 - IO流 4关

Educoder -Java高级特性 - IO流

第一关

第一关选择题

第二关:本关任务:使用输入输出流读写文件。

请仔细阅读右侧代码,根据方法内的提示,在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;

public class Task {
	public void task() throws IOException{
		/********* Begin *********/
		File file = new File("src/step2/input/task.txt");
		FileInputStream in = new FileInputStream(file);
		byte[] b=new byte[8];
		in.read(b);
		String str=new String(b,"UTF-8");
		System.out.println(str);
		
		File file1 = new File("src/step2/output");
	    if(!file1.exists()){
	    	file1.mkdir();
	    }
	    FileOutputStream out = new FileOutputStream("src/step2/output/output.txt");
	    String str1 = "learning practice";
	    byte[] bt1 = str1.getBytes();
	    out.write(bt1);
	    out.flush();
	    in.close();
	    out.close();
		/********* End *********/
	}
}

第三关:本关任务:使用字符流对文本进行读写操作。

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

将src/step3/input/目录下的input.txt文件复制到src/step3/output/目录下;

复制的新文件命名为output.txt;

input.txt文件中只有8个字符。

package step3;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Task {
	
	public void task() throws IOException{
		/********* Begin *********/
		String file1 = "src/step3/input/input.txt";
		FileReader fr = new FileReader(file1);
		char[] cbuf = new char[8];
		fr.read(cbuf);
		String file2 = "src/step3/output/output.txt";
		FileWriter fw = new FileWriter(file2);
		fw.write(cbuf);
		fr.close();
		fw.flush();
		fw.close();
		/********* End *********/		
	}
}

第四关:本关任务:复制文本文件,复制图片文件。

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

复制src/step4/input/目录下的input.txt文件到src/step4/output/目录下,新文件命名为output.txt;

复制src/step4/input/目录下的input.jpg文件到src/step4/output/目录下,新文件命名为output.jpg。

package step4;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Task {
	
	public void task() throws IOException{
		/********* Begin *********/
		FileReader fr = new FileReader("src/step4/input/input.txt");
		FileWriter fw = new FileWriter("src/step4/output/output.txt");
		int len = 0;
		char[] cbuf = new char[1024];
		while ((len = fr.read(cbuf))!=-1) 
		{
			fw.write(cbuf,0,len);
		}
		fr.close();
		fw.flush();
		fw.close();
		
		FileInputStream fs = new FileInputStream("src/step4/input/input.jpg");
		FileOutputStream fos = new FileOutputStream("src/step4/output/output.jpg");
		int le = 0;
		byte[] bt = new byte[1024];
		while ((le = fs.read(bt))!=-1)
		{
			fos.write (bt,0,le);
		}
		fs.close();
		fos.flush();
		fos.close();	
		/********* End *********/		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值