本文共 3888 字,大约阅读时间需要 12 分钟。
Java常见的IO流的基本操作!
java对文件的创建删除操作可查看这里:
在java io流中存在两种流,字节流和字符流,他们两者又可细分为输入流,输出流,这里我们主要理解字节流和字符流,以及输入流,输出流。
字节流:是我们常见的流,处理我们的图片,视频,文本数据等等数据,这些数据都是以字节流存在我们的电脑中的。 字符流:字符流只能处理纯文本数据。 输入流:针对我们的编写程序而言,指程序读取本地存在的文件流。可以字节流读取也可以字符流读取。 输出流:针对我们的编写程序而言,指将我们想要的数据写出到我们的本地文件中,可以字节流写入也可以字符流写入。 可以用这张图来理解他们之间的关系import org.junit.Test;import java.io.*;/** * @author ganxiang * IDE IntelliJ IDEA * @project_name and filename HadoopTraining FileStream * @date 2020/05/05 0005 12:44 *///字节流处理public class FileStream { String path="D:\\StudyDemo\\IDEA\\TestDir\\createFile.txt"; @Test public void outputStream() throws IOException { FileOutputStream outputStream =new FileOutputStream(path); outputStream.write("hello everyone".getBytes()); outputStream.close(); System.out.println("字节流写入文件成功~"); } @Test public void inputStream() throws IOException { FileInputStream inputStream =new FileInputStream(path); //1,字符串输出 //available()获取可读的字节数// byte[] data=new byte[inputStream.available()];// inputStream.read(data);// System.out.println(new String(data)); //2,字符输出 int f =inputStream.read(); while (f>0){ System.out.print((char)f); f=inputStream.read(); } inputStream.close(); System.out.println("以字节流读取文件成功~"); }}
OutputStream测试
IutputStream测试import org.junit.Test;import java.io.*;/** * @author ganxiang * IDE IntelliJ IDEA * @project_name and filename HadoopTraining FileReaderAndWriter * @date 2020/05/05 0005 13:18 *///字符流处理public class FileReaderAndWriter { String path="D:\\StudyDemo\\IDEA\\TestDir\\createFile.txt"; @Test //读取字符流 public void reader() throws IOException { FileReader reader =new FileReader(path); //将读取的字符转换为ASCII编码 int f =reader.read(); while (f>=0){ System.out.print(String.valueOf((char)f));//将ASCII编码转换为字符输出 f=reader.read();//读取下一个字符 } reader.close(); } @Test //写出字符流 public void writer() throws IOException { FileWriter writer =new FileWriter(path); //1,BufferedWriter()写出数据 BufferedWriter bufferedWriter =new BufferedWriter(writer); bufferedWriter.write("welcome to here\n");//换行写入 bufferedWriter.write("你好!"); bufferedWriter.close(); //2,FileWriter()写出数据// writer.write("今天30度\n");// writer.write("真热");// writer.close(); System.out.println("写入成功~"); }}
Writer测试
Reader测试
这里简单来说,将字节流的输入输出转换为字符流的输入输出操作。
import org.junit.Test;import java.io.*;import java.util.Scanner;/** * @author ganxiang * IDE IntelliJ IDEA * @project_name and filename HadoopTraining Transform * @date 2020/05/05 0005 16:26 */public class Transform { String path="D:\\StudyDemo\\IDEA\\TestDir\\createFile.txt"; String path1="D:\\StudyDemo\\IDEA\\TestDir\\1.txt"; @Test //字节输入流转换为字符输入流->将文件字节流读取转换为字符流读取 public void inputStreamToReader() throws IOException { FileInputStream inputStream =new FileInputStream(path); InputStreamReader inputStreamReader =new InputStreamReader(inputStream); char [] chars =new char[200]; inputStreamReader.read(chars); System.out.println(new String(chars)); inputStreamReader.close(); System.out.println("将文件字节流读取转换为字符流读取成功~"); } @Test //字节输出流流转换为字符输出流->将文件字节流写入转换为字符流写入 public void outputStreamToWriter() throws IOException { FileOutputStream outputStream =new FileOutputStream(path1); OutputStreamWriter outputStreamWriter =new OutputStreamWriter(outputStream); outputStreamWriter.write("测试字节输出流转换为字符输出流写入文件~"); outputStreamWriter.close(); System.out.println("将文件字节流写入转换为字符流写入成功~"); }}
虽然都是一些API的简单运用,但都看到这儿了点赞走一波呗,哈哈。
转载地址:http://teqzi.baihongyu.com/