1. 从键盘输入字符串,要求将读取到的 整行字符串 转成大写输出然后,继续进行输入操作 直到当输入 "e",或者 "exit",退出程序。
使用 Scanner
代码: 这里只是e/E退出
public static void main(String[] args) {
boolean flag = true; // 判断值
// while 循环 没有进入if 判断的话 就一直从键盘输入:s1.next();
while(flag ==true) {
flag=true;
Scanner s1 = new Scanner(System.in); //实例化 Scanner 对象
System.out.println("请输入字符串,按回车结束:");
String a = s1.next().toUpperCase(Locale.ROOT); // 转化 为 大写;
System.out.println(a);
if("E".equals(a) ){
System.out.println("进入判断:");
flag = false;
}
}
}
效果图:
使用 io流方法:
代码:
public static void main(String[] args) {
BufferedReader br = null;
InputStreamReader isr = null;
try {
// System.in -----> BufferedReader readerLine
// 字节流 --> 字符流 ---> 缓冲流
isr = new InputStreamReader(System.in); //参数一: System.in 输入的字节流 转化为字符流
br = new BufferedReader(isr); // 把字符流 放进缓冲流中,操作br就是在操作isr
while (true) {
System.out.println("请输入字符串:");
String data = br.readLine(); //br 里面有这个方法
//data 为 拿到的 一行输入的字符串的值
if (data.equalsIgnoreCase("e") || data.equalsIgnoreCase("exit")) {
System.out.println("程序 结束:");
break;
}
String upperCase = data.toUpperCase(Locale.ROOT);
System.out.println(upperCase);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
效果:
2.拷贝一张图片,到另外一个目录下。
代码:
FileInputStream fr= null;
FileOutputStream fo = null;
try{
// 1. 造文件
File srcFile = new File("C:\\Users\\w6666\\IdeaProjects\\java学习\\src\\1.jpeg");//路径
//再 一个目标文件对象并给上目标 路径
File destFile = new File("C:\\Users\\w6666\\IdeaProjects\\java学习\\src\\copy.jpeg");
// 2. 造流
// 思考 复制文件需要什么流 文件输入流,或者文件输出流
// 应该是字节流
// 文件字节输入流
fr = new FileInputStream(srcFile);
// 文件 字节输出流 (应该就是 fr 把srcFile文件 输入到程序里,程序再用fo 输出流,把数据【文件】 输出到磁盘 )
fo = new FileOutputStream(destFile);
// 3. 复制的过程
//3.1 创建一个字节数组:
// Byte[] buffer = new Byte[5]; 注意是小写:
byte[] buffer = new byte[5];
// 记录 每次 读入到 buffer 数组中字符的个数.
int len;
// 输入流 (把磁盘的数据/字符 读入到 buffer数组中共 - -磁盘 到程序 ) 读的值赋值给len
// 判断 len 的值 是否 等于 -1
while( (len = fr.read(buffer)) !=-1 ){
// 不等于 -1 的话,
// 输出流 就从 程序 中,把 buffer 的字符 输出到磁盘出来,每次输出 len个字符:
fo.write(buffer ,0,len);
//提示 语句:
System.out.println("正在输出....");
}
System.out.println("***********输出成功************");
}catch(Exception e){
e.printStackTrace();
} finally {
// 关闭流
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
fo.close();
} catch (IOException e) {
e.printStackTrace();
}
}
效果:
3. 图片加密
代码:
byte[] buffer = new byte[20];
int len; // int len; ???
while( (len = fis.read(buffer)) !=-1 ){
// 正确的:
// 加密 :???
for( int i=0;i<len;i++){
buffer[i] =(byte)(buffer[i] ^ 5);
}
fos.write(buffer,0,len);
}
}catch(Exception e){
e.printStackTrace();
} finally {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
效果: