黑马程序员技术交流社区

标题: IO的应用 [打印本页]

作者: 任亚俊    时间: 2013-8-7 19:19
标题: IO的应用
第一个问题:IO在在哪些项目中应用比较多呢,我只知道在Web项目中可以用于上传、下载,在一些项目中用于保存用户状态。
第二个问题:有关IO的练习题,我做过复制文件,还有哪些经典的练习呢,可以全面练习IO的题。
先谢谢大家。{:soso_e100:}

作者: 吴光新    时间: 2013-8-7 20:04
做一个复制文件夹吧,把你的思想写出来,让大家参考参考
作者: 杨增坤    时间: 2013-8-9 18:43
也可以试着模拟一个数据库!
作者: 以防万一    时间: 2013-8-13 22:15
亲,如问题已解决请将分类的未解决改为已解决。

以后的问题贴也要及时更改分类哦~


保持队形,谢谢合作
作者: 探花    时间: 2014-4-12 21:11
IO的应用很多,比如,QQ交流发信息,和数据的上传下载,复制粘贴文件等给你几个应用题看看吧、

1.给图片加密
  1. public static void main(String[] args) throws IOException {
  2.                 FileInputStream fis = new FileInputStream("b.jpg");
  3.                 FileOutputStream fos = new FileOutputStream("c.jpg");
  4.                
  5.                 int b;
  6.                 while((b = fis.read()) != -1) {
  7.                         fos.write(b ^ 123);                                                //写出的每一个字节异或一个数
  8.                 }
  9.                
  10.                 fis.close();
  11.                 fos.close();
  12.         }

  13. }
复制代码
2.在控制台录入文件的路径,将文件拷贝到当前项目下
  1. public static void main(String[] args) throws IOException {
  2.                 Scanner sc = new Scanner(System.in);                               
  3.                 System.out.println("请输入一个文件路径");
  4.                
  5.                 String dir = sc.nextLine();                                                                //将键盘录入的字符串存储在dir中
  6.                 int index = dir.lastIndexOf('\\');                                                //获取这个路径的最后一个\
  7.                 String name = dir.substring(index + 1);                                        //获取存储在本地项目的名字
  8.                
  9.                 FileInputStream fis = new FileInputStream(dir);                        //创建读文件的对象
  10.                 FileOutputStream fos = new FileOutputStream(name);                //创建写文件的对象
  11.                
  12.                 int len;
  13.                 byte[] arr = new byte[1024];                                                        //定义缓冲区
  14.                
  15.                 while((len = fis.read(arr)) != -1) {                                        //将文件读到缓冲区中
  16.                         fos.write(arr, 0, len);                                                                //将缓冲区的内容写出
  17.                 }
  18.                
  19.                 fis.close();
  20.                 fos.close();
  21.         }

  22. }
复制代码

3.将键盘录入的数据拷贝到当前项目下的text.txt文件中,键盘录入数据当遇到quit时就退出



  1. public static void main(String[] args) throws IOException {
  2.                 Scanner sc = new Scanner(System.in);
  3.                 FileOutputStream fos = new FileOutputStream("text.txt");
  4.                 System.out.println("请输入:");
  5.                
  6.                 while(true) {
  7.                         String line = sc.nextLine();
  8.                         if(line.equals("quit"))
  9.                                 break;
  10.                        
  11.                         fos.write(line.getBytes());                                //将键盘录入的字符串转换为字节数组写出去
  12.                         //fos.write('\r');
  13.                         //fos.write('\n');
  14.                         fos.write("\r\n".getBytes());                        //写出回车换行符号
  15.                 }
  16.                
  17.                 sc.close();
  18.                 fos.close();
  19.         }

  20. }
复制代码









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2