IO的应用很多,比如,QQ交流发信息,和数据的上传下载,复制粘贴文件等给你几个应用题看看吧、
1.给图片加密
- public static void main(String[] args) throws IOException {
- FileInputStream fis = new FileInputStream("b.jpg");
- FileOutputStream fos = new FileOutputStream("c.jpg");
-
- int b;
- while((b = fis.read()) != -1) {
- fos.write(b ^ 123); //写出的每一个字节异或一个数
- }
-
- fis.close();
- fos.close();
- }
- }
复制代码 2.在控制台录入文件的路径,将文件拷贝到当前项目下
- public static void main(String[] args) throws IOException {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入一个文件路径");
-
- String dir = sc.nextLine(); //将键盘录入的字符串存储在dir中
- int index = dir.lastIndexOf('\\'); //获取这个路径的最后一个\
- String name = dir.substring(index + 1); //获取存储在本地项目的名字
-
- FileInputStream fis = new FileInputStream(dir); //创建读文件的对象
- FileOutputStream fos = new FileOutputStream(name); //创建写文件的对象
-
- int len;
- byte[] arr = new byte[1024]; //定义缓冲区
-
- while((len = fis.read(arr)) != -1) { //将文件读到缓冲区中
- fos.write(arr, 0, len); //将缓冲区的内容写出
- }
-
- fis.close();
- fos.close();
- }
- }
复制代码
3.将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出
- public static void main(String[] args) throws IOException {
- Scanner sc = new Scanner(System.in);
- FileOutputStream fos = new FileOutputStream("text.txt");
- System.out.println("请输入:");
-
- while(true) {
- String line = sc.nextLine();
- if(line.equals("quit"))
- break;
-
- fos.write(line.getBytes()); //将键盘录入的字符串转换为字节数组写出去
- //fos.write('\r');
- //fos.write('\n');
- fos.write("\r\n".getBytes()); //写出回车换行符号
- }
-
- sc.close();
- fos.close();
- }
- }
复制代码
|