2019JAVA第八次实验报告
班级 计科二班 学号 20188442 姓名 吴怡君
完成时间 2019.11.1
评分等级
课程作业:
将奇数位小写字母改写为大写字母(用文件输出)
实验代码:
package Domon7;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
public class test {
public static void main(String[]args)throws Exception{
File file = new File("C:"+File.separator+"Users"+File.separator+"35583"+File.separator+"desktop"
+File.separator+"Brent"+File.separator+"brent.txt");
OutputStream out =null;
out=new FileOutputStream(file);
String str = "I am wu yi jun";
byte b[] = str.getBytes();
for(int i=0;i<b.length;i++){
if('a'<=b[i]&&b[i]<='z'&&i%2==0){
b[i]=(byte) (b[i]+'A'-'a');
}
else{
}
out.write(b[i]);
}
out.close();
InputStream in =null;
in=new FileInputStream(file);
byte c[]=new byte[(int)file.length()];
in.read(c);
in.close();
System.out.println("重新输入到控制台:"+new String(c));
}
}
答案截图
本题小结
做这个题目是深有感触,因为我在做奇数位输出的时候卡了很久,太蠢了,都是以前学过的都忘了,可以用String类的indexof方法完成,但是后来发现过于麻烦,就没有用这个方法去实现了,其实这个算法特别简单,但我却一直在纠结for循环,但是发现这个没什么用,还是得一个一个判断,不然有些字符就判断不了,也就输出不了,后来突然想到只要在我的if语句里面加条件就好,判断奇数位就OK啦,陷入太深就容易走弯路,所以还得努力,这个题我只用到了输出流,也就是直接将程序的内容写入文件,当然要把文件的东西再写入程序就是输入流了,方法差不多,关键要知道那四步。
课程总结:
1.这周学了java的IO,首先就学习了文件的简单建立与删除,然后有些File类的方法,然后就学习了随机读取类RandomAccessFile,这些都是File类针对自己本身进行的操作。
2.学习了字节流和字符流,字节流主要是字节数组的形式运输和保存,通过Outputstream和Inputstream这两个类输出输入,而字符流一般以字符的形式保存在内存中,以Reader和Writer进行输入和输出。其中有四步,2.1找到文件路径2.2,搭建管道2.3进行读写操作2.4关闭输入输出流,然后就是一些读写的方法了。
3.接着又学了转换流,就是字节流和字符流之间的转化,内存操作流,管道流等等以及一些方法。