早先,在学习java中的io流时,因为没重视,换乱的看了视频就过了,导致现在做项目时看到文件等操作就头晕,现在有时间了,就重新的学了一遍java的IO流,加深印象吧。
首先说说IO流的概念:
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

IO流的分类:
根据数据的流向可分为:输入流,输出流
根据处理的数据它的类型可分为:字符流与字节流
字符流与字节流中,优先选用字节流。首先因为硬盘上的所有文件都是以字节的形式进行传输或者保存的,包括图片等内容。但是字符只是在内存中才会形成的,所以在开发中,字节流使用广泛。
我经常搞混乱,不知道什么时候使用inputstream,什么时候使用outputstream。
接下来的一句话,记住的话就不用迷茫了:对输入流只能进行读操作,对输出流只能进行写操作,程序中需要根据待传输数据的不同特性而使用不同的流。

现在就简单的使用一下IO流来加深印象吧

//使用字节流向D盘的hello.txt文件写数据:

public static void main(String[] args) {
//File.separator用来跨平台的书写路径
String fileName="D:"+File.separator+"hello.txt";
File file=new File(fileName);
try {
//true则追加内容,false为覆盖内容
OutputStream out=new FileOutputStream(file, true);
String content="woyaojiayou";
byte[]bb=content.getBytes();
for(int i=0;i<bb.length;i++){
out.write(bb[i]);
}
out.close();

} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

//使用字节流读取文件内容(没做判断,因此D盘中先要有hello.txt文件)

public static void main(String[] args) {
String fileName="D:"+File.separator+"hello.txt";
File file=new File(fileName);
try {
InputStream is=new FileInputStream(file);
byte[]bb=new byte[(int) file.length()];
for(int i=0;i<bb.length;i++){
bb[i]=(byte) is.read();
}
is.close();
System.out.println(new String(bb));
} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

在创建文件时,我们经常会见到File的mkdir()和mkdirs()方法,那么这两个方法又有什么不同的呢?
写个示例,来更好的了解和记录这两个方法的区别吧

//String path="D:"+File.separator+"main.txt";
File file=new File("D:\\demo\\main");
//两个方法都返回boolean值,当创建成功则返回true,创建失败则返回false
/*mkdir()表示创建最内级的目录,就像上面的文件路径D:\\demo\\main, 它只创建最里面的那个main文件目录,如果demo本身不存在,那么它将创建失败,如果demo存在,它则创建成功
*/

boolean isCreate = file.mkdir(); //如果demo不存在则返回false

boolean bFile1 = file.mkdir();
System.out.println("bFile1:"+bFile1);

/*
* mkdirs() 此方法创建所有目录结构,如目录D:\\demo\\main,它既创建了demo也创建main
* */

boolean bFile2 = file.mkdirs();


更多相关文章

  1. 如何在Java中递归解压缩文件?
  2. 安卓Android文件上传Demo报错 java.io.FileNotFoundException: /
  3. Eclipse创建的包变成文件夹的解决方法
  4. Android 多线程下载文件原理霸气解析介绍 (完结版)-----greendao
  5. [java混淆器问题] 如何让web项目的class文件不能被反编译,又能在w
  6. eclipse写javaweb工程时文件目录为WebContent而不是WenRoot的不
  7. Java: SAX解析一个巨大的XML文件。
  8. 使用Java语言如何实现快速文件复制?
  9. java-IO流3(缓冲输入字节流)

随机推荐

  1. 用原生 JavaScript 实现十大 jQuery 函数
  2. 怎样通过读源码提高你的 JavaScript 知识
  3. Mount挂载
  4. 用纯 JavaScript 撸一个 MVC 框架[每日前
  5. Node.js 12中的ES模块[每日前端夜话0x9E]
  6. 那些最受欢迎的 Node.js 视图引擎[每日前
  7. 人生第一次写博客,就先当作日记写了
  8. Node.js 事件循环完整指南[每日前端夜话0
  9. JavaScript 进阶问题列表[每日前端夜话0x
  10. 【python】虚拟环境搭建