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 *********/
}
}