早先,在学习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. Android中按钮点击效果显示
  2. android Content provider 组件
  3. Activity的启动模式
  4. 第一行代码读书笔记 Kotlin Android
  5. Android去掉顶部的阴影
  6. Android基础系列-----------Android进程/
  7. Android 5.0有哪些变化
  8. Touch in Android
  9. Android 中的Intent的某些用法
  10. Android 7.1 根据4G共享动态调整以太网优