美文网首页
今天的内容是Java中的File I/O:输入输出流

今天的内容是Java中的File I/O:输入输出流

作者: tranquil乄 | 来源:发表于2020-04-08 12:40 被阅读0次

    File I/O(Input/Output):文件的输入和输出流。

    一般来说,我们用File I/O的主要用法就是:

    1、可以得到一个永久的副本。

    2、一个程序的输出可以输入到另一个程序。

    3、可以自动输入,不必手动输入,最主要还是一个方便,比方说写一个网页的时候,可以写个按钮,做个功能,比方说我最近涉及到的毕业设计,就是可以写一个File I/O来弄一个Json和Xml文件之间的自动转换,极为方便。

    笔者之前犯蠢了,自己在写的时候不小心把两个功能给弄混了,结果导致我的Json文件内容的丢失。

    还好,进行回滚,将原本的内容给找回来了,开发常用小知识get。 

    回滚Rollback:程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。

    首先是我们的输入流:Input Stream

    打开文件文本进行输入,链接到流之后进行读取。

    我们这里用到的是FileReader类,这个类可以按字符读取流中的数据,当然FileInputStream也能使用。

    准备一个文件,定义为text.txt,假设我这个文件中的内容是1,2,3。(进行测试用)

    然后读取该文本文件的内容,即得到:FileReader readtext= new FileReader("text.txt");

    之后的话就是链接到流进行读取,得到:BufferedReader inread = new BufferedReader(readtext);

    但是这样的话,是没有办法读取到控制台的,我们需要将其转化为字符串形式,才能将其读出到控制台。

    这里我用到一个readLine()方法,看表面意思也可以知道是逐行读取,只要每一行都不为空,那就打印到控制台。

    按照这个逻辑的话,可以定义一个空的字符串,比方说String test1 = null;

    然后利用一个while循环来进行遍历,之后打印出来,得到:while((test1 = inread.readLine) != null)

    System.out.println(test1);

    结果:

    其次是我们的输出流:Output Stream

    与输入流Input Stream对应,输出流Output Stream指的便是将内容输出到文件文本当中。

    与FileReader对应,我们这里要使用的便是FileWriter与BufferedWriter,当然,类似FileOutputStream和PrintWriter也能使用。

    相似的,假设我们要将内容都输出到已经建立好的文件textsecond.txt中。

    首先是定位到这个文件,可以得到FileWriter writertext = new FileWriter("textsecond.txt");

    其次便是BufferedWriter outwriter = new BufferedWriter(writertext);

    这里比方说我们要输入到testsecond.txt文件中的内容是10个number,那么我们可以写一个循环遍历1到10,然后通过输出流将10个number打印到文件当中去。

    for(int number = 1;number <= 10;number++){

    outwriter.write("number");

    outwriter.newLine();

    }

    System.out.println("had been printed...");

    结果:

    总结:

    总的来说,File I/O 输入输出并没有那么难,难度适中,不过FileWriter和PrintWriter等之间还是有点区别的,比方说println这个读出的方法只有在PrintWriter的时候才能使用,其他当然还有区别,具体什么区别的话,等我下次再进行整理了,今天就先讲这么多了。

    相关文章

      网友评论

          本文标题:今天的内容是Java中的File I/O:输入输出流

          本文链接:https://www.haomeiwen.com/subject/xpttmhtx.html