字节流字符流课堂实验
要求:
从键盘输入多行包含字母和数字的字符,最后一行为“save”, 表示输入结束并将所有输入保存到工程文件夹的file1.txt, 并同时将该文件中的内容拷贝到在同一个文件夹的file2.txt中,在拷贝时需要将大写字母转换为小写,小写字母转换为大写,其他字符不变。
代码:package Input_Read;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
/*
- @author: zh
- @date:20.04.01
*/
public class REad {
public static void main(String[] args) throws IOException {
InputStreamReader ir=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(ir);
File f1=new File(“F:/file1”);
File f2=new File(“F:/file3”);
BufferedWriter bw = new BufferedWriter(new FileWriter(f1));
BufferedWriter bw2 = new BufferedWriter(new FileWriter(f2));
String str = null;
System.out.println(“输入字母并以end结尾:”);
try {
while(!(str=br.readLine()).equals(“end”)) {
bw.write(str);
bw.newLine();
}
br.close();
bw.close();
}catch (Exception e) {
e.printStackTrace();
}
int rs;
byte b[]=new byte[1024];
try {
FileInputStream fis=new FileInputStream(f1);
System.out.println("开始拷贝文件,请稍候......");
rs=fis.read(b);
String s=new String(b,0,rs);
char ch[]=s.toCharArray();
for(int i=0;i<s.length()-1;i++){
if(ch[i]>='A'&&ch[i]<='Z')
ch[i] = (char)(ch[i]+32);
else if (ch[i]>='a'&&ch[i]<='z')
ch[i] = (char)(ch[i]-32);
}
String str1=String.valueOf(ch);
System.out.println(str1);
bw2.write(str1);
System.out.println("文件拷贝结束,谢谢!");
fis.close();
bw2.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
希望您喜欢,有任何不足欢迎指正