Java语言学习(十):输入/输出

原创
2018/07/18 16:04
阅读数 133
AI总结

    Java中,I/O操作代表着输入、输出,Java所有的I/O机制都是基于数据流进行输入输出。java.io类包提供了很多的输入输出处理功能方法,大家可以参考下JDK文档中关于I/O的一些处理方法:JDK在线中文文档

    数据流是一串连续不断的数据的集合,在Java中常见的基本流一般指:InputStream、OutputStream、Reader、Writer这四个,其他的都是他们派生出来的子类。他们之间也是有区别的:InputStream、OutputStream是处理8位的字节流数据,Reader、Writer是处理16位的字符流数据,相互间可以转化,这里不做详述了。

    数据流的使用多见于文件操作,如文件的读写,下面就以文件操作来说下I/O。

    文件File类提供了很多的方法可以获取指定文件的属性,如文件大小、修改时间等,而在Java中文件和文件夹都是统一由File进行管理,所以提供了isFile()和isisDirectory()方法来判断是否为文件或文件夹。下面通过一个实例来熟悉下其中一种读写操作:

/*
* 替换文本文件内容
*/
File file = new File("D:\\Yoki\\a.txt");
FileReader fir = null;
FileWriter fiw = null;
StringBuilder sBuilder = new StringBuilder();
char[] temp = new char[1024];
if(file != null){
   try {
      //创建文件读流
      fir = new FileReader(file);
      //读入文件中的内容
      while((fir.read(temp))!=-1){
          sBuilder.append(temp);
      }
      //替换字符串
      String str = sBuilder.toString().replace("on", "in");
      //创建文件写流
      fiw = new FileWriter(file);
      fiw.write(str);
   }catch (FileNotFoundException e) {
      e.printStackTrace();
   }catch (IOException e) {
      e.printStackTrace();
   }finally{
      try {
          //释放资源
          fiw.close();
          fir.close();
      }catch (IOException e) {
          e.printStackTrace();
      }
   }
}

    运行后可以看到文本文件中的字符串已被替换了。上面的实例中需要注意几点:文件类File的使用,流的创建使用,资源释放的问题,try-catch代码块捕获异常等。

    在读取文本文件时,可以使用BufferReader类,它的readLine()方法可以方便的从文件中读入一行数据,返回读入的字符串,声明如下:

public String readLine() throws IOExceptoin

    注意:在向MYSQL中保存图片时,数据库表中对应字段的类型应该是TINYBLOB、BLOB、MEDIUMBLOB或者LONGBLOB之一。

    其他的输入输出流这里不一一详述了,使用大都是一样的,大家可以自己尝试编写实例验证。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
3 收藏
0
分享
AI总结
返回顶部
顶部