JAVA中I/O流的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中I/O流的使用相关的知识,希望对你有一定的参考价值。
值此新年之际我开始了自己的第一篇博客,首先祝大家新年快乐,学习工作进步,在此我在Java编程的学习中将有一些自己的心得或者说学的的经验和大家分享,还望指正共同学习,下面我将所学I/O流的相关问题与大家分享学习.
I/O流在我们以后的java编程中是比较重要的一部分,我们学习Java必定少不了对文件的操作,而I/O流就是我们操作的基础,因此我们需要掌握四中流的使用,在java中我们可以把流分为输入和输出两类,或者可以按字节流和字符流分.
即:输出流有,字符输出流,字节输出流.
输入流有,字符输出流,字节输出流.
而按字节和字符分则是,字节流和字符流分别都有自己的输入输出方法.
下面我们先介绍字节输入流:
//首先我们把需要用到的包需要先导入
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class text01 {
public static void main(String[] args) throws FileNotFoundException {
//因为是字节输入流我们会读出文件的内容,要选择找到文件的路径下面的路径在FileInputStream("D:\\java.txt")中后面写入我们的路径.
但是这个类本身会抛出一个异常因此我们需要选择处理方式,可以继续往上抛,或者用try-catch方法来进行处理.
FileInputStream fis = new FileInputStream("D:\\java.txt");
//在使用本方法的过程中需要一个字节数组来作为缓冲区,我们读到的字节流会先存在缓冲区中.
byte[] bytes= new byte[1024];
int a;
try {
//我们使用字节输入流的read方法来进行读取,同时将数据读取到字节数组中.
a = fis.read(bytes);
while (a!=-1) {
String c= new String(bytes);
//读取后把字节数组可以转化为字符串,同时用循环的方法使用,以免字节数组长度达到极限造成的读取不完整.
System.out.println(c);
a= fis.read(bytes);
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
//最后我们要关闭流,关闭时会报一个异常,我们在这里进行处理.
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
接下来我们介绍字节输出流:
字节输出流与字节输入流有很多相识之处,首先我们要做的也是导包.
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class shuchuliuoutput {
public static void main(String[] args) throws IOException {
//同字节输入流一样我们需要选择文件路径,可以自定义文件夹名称,我们可以在路径后面写上true这个值,表示不覆盖原有文件内容,否则会覆盖掉之前的.
FileOutputStream fos = new FileOutputStream("D:\\writeh",true);
//创一个要输出的内容
String bc = new String("haohaohao");
//将输入的内容转化为一个字节数组
byte[] bytes=bc.getBytes();
//用FileOutputStream的write方法来输出写出,同理 此方法会有一个异常可以继续抛出或者处理.
fos.write(bytes,0,bytes.length);
//关闭流
fos.close();
}
}
我们在看字符输入流:
//其过程与字节输入流很像,只是将字节数组换成字符数组
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class zifishuchu {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("D:\\java.txt");
char[] cc = new char[1024];
int data;
while ((data=fr.read(cc))!=-1) {
String aa=new String(cc);
System.out.println(aa);
}
fr.close();
}
}
我们在看字符输出流:
import java.io.FileWriter;
import java.io.IOException;
public class writeshuchu {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("D:\\wenjian.txt");
String cc = "好好学习,天天向上";
char[] aa = cc.toCharArray();
fw.write(aa, 0, aa.length);
fw.close();
}
}
以上是关于JAVA中I/O流的使用的主要内容,如果未能解决你的问题,请参考以下文章