最近老师给我们留了一个JAVA小实验,让键盘输入一些字符,然后写到一个自己建的文件里面,并且在显示器上显示文件里面的数据,要求在一个类里面实现。

在做实验的过程中有一些思想我觉得很有用,为了避免以后碰到同样的问题时,可以查找,特此留下此比篇博文。这是我第一次写博文,(*^__^*) 嘻嘻……!实验源代码:

import java.io.*;

public class StreamTest{

public static void main(String args[]) throws IOException{

File outputFile = new File("a.txt");//创建文件

FileWriter out = new FileWriter(outputFile);//创建文件输出流

int c = 0;

String s=null;

while(c != '#'){//当输入的字符为'#'时,结束输入

try{

c = (int) System.in.read();//键盘输入字符

}catch(IOException e){//捕获IO异常

System.err.println(e);

}

out.write(c);//将输入的字符写入文件

}

out.close();//关闭文件输出流

LineNumberReader in = new LineNumberReader(new FileReader("a.txt"));

int c1 = 0;

int sum = 0;

do{

try{

s = in.readLine();//整行读入字符

System.out.println(s);//在显示器上输出字符串

}catch(Exception e1){

System.err.println("The IOException is:"+e1);

}

}while(s != null);

while(c1 != -1){

try{

c1 = in.read();

sum++;

}catch(IOException e1){}

}

System.out.println("the number of char is:"+sum);

System.out.println("the number of line is:"+in.getLineNumber());

in.close();

}

}

起初我定义的变量 c 是char型,然后键盘输入后无法写进文件,我仔细查找字符文件流的write()方法,才知道write()方法里面的参数是int型,改过之后可以写入数据。

在文件写入数据需要输出的时候,我发现总是输出null,后来仔细看了代码之后发现我把输出流的关闭和输入流的关闭都写在了方法的最后,这样导致在把数据输入文件后没有关闭流,直接读数据,相当于文件里面还是空的。在把out.close()方法写在输入流前面之后,文件里面的数据就能在显示器上显示了。

java 文件io 实验_java I/O流实验小结相关推荐

  1. java 文件io操作_java文件IO操作。

    public static void main(String[] args) { String filename = "F:/zhangming_test/test.txt"; S ...

  2. Java - 文件(IO流)

    Java - 文件 (IO) 流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     & ...

  3. JAVA——文件IO流

    IO文件流 File类&递归思想 File类    概述和构造方法         介绍             - 它是文件和目录路径名的抽象表示             - 文件和目录是可 ...

  4. Java 文件 IO 操作

    文章目录 1. File类 2. RandomAccessFile类 3. 流类 3.1 字节流 3.2 字符流 3.3 管道流 3.4 ByteArrayInputStream.ByteArrayO ...

  5. Java中IO(三、转换流与打印流)

    InputStreamReader是从字节流到字符流的桥梁,它读取字节并使用指定的字符集将其解码为字符,通常将InputStreamReader包装在BufferedReader中使用.PrintSt ...

  6. java nio io复用_java 非阻塞IO-java NIO-嗨客网

    Java的NIO教程 NIO 官方名称叫做 New IO,在 JDK 1.4 中相对于 BIO 的新 IO.但是也有很多人称之为 NON-BLOCKING IO.和 BIO 比较的话,叫做非阻塞 IO ...

  7. java io教学文件_通过代码实例跟我学Java语言程序设计及应用技术——Java文件IO技术及应用相关的教学示例(第3部分)...

    1.1Java文件IO技术及应用相关的教学示例(第3部分) 1.1.1文本字符流IO操作 1.字符流Reader/Writer类 提供的对字符流处理的类,它们为抽象类.其子类 (1)InputStre ...

  8. java文件操作和_JAVA文件操作类和文件夹的操作

    JAVA文件操作类和文件夹的操作 package com.gamvan.tools; import java.io.BufferedReader; import java.io.File; impor ...

  9. linux 带缓存的fwrite,文件IO编程之(六):基于流缓冲 fopen,fwrite,fput

    标准IO开发 前面分析的文件IO编程都是基于文件描述符的.这些都是基本的IO控制,是不带缓存的. 这里要讨论的IO操作是基于流缓冲的,它是符合ANSIC的标准IO处理. 标准IO提供流缓冲的目的是尽可 ...

最新文章

  1. 强大自己,从学习开始!2020年最有内容的订阅号,每一个都是万里挑一!
  2. 解决QueryTask执行中的网络请求错误
  3. vss6 forgot admin password
  4. bzoj千题计划262:bzoj4868: [六省联考2017]期末考试
  5. php7 魔术引号,PHP魔术引号所带来的安全问题分析
  6. eureka源码:开启服务注册
  7. dedeCMS版权信息、备案号的调用代码 - 代码大全
  8. 【2019.09.14】2019icpc沈阳网络赛
  9. 个人笔记本电脑属于专用计算机吗,计算机选择题
  10. python浮雕图片_python图像数据增强——imgaug (二)
  11. 剑指offer面试题11. 旋转数组的最小数字(二分查找)
  12. 软件测试之Web测试流程和方法
  13. k8s——Kubernetes配置yaml文件详解
  14. 5G工业无线路由器的优势和应用场景
  15. 电子智能Siri与Simsimi评测(上)
  16. 盘点一道使用Python编程来实现高斯计算的基础算术题目
  17. BMC通过PECI接口获取CPU温度实现方法
  18. 五阶最小二乘+迭代方法曲线拟合
  19. 这就是那个著名的接雨水算法题详解
  20. matlab读取cvs文件的几种方法

热门文章

  1. 科学家风采 | 2023年度IEEE Fellow揭晓!《大数据》这些编委入选!
  2. 2017年7月4日13:10:38
  3. 三菱PLC GX3 全ST程序案例,提供项目源码FB源码
  4. mysql 查看等待事件_PostgreSQL等待事件-锁等待分析
  5. 详细解说脏读、幻读和不可重复读
  6. 脏读 幻读 不可重复读 及其解决方法
  7. nested exception is java.lang.IncompatibleClassChangeError: Implementing class(已解决)
  8. linux 运行msi文件是什么意思,linux msi文件怎么安装
  9. 移动端(浏览器)调试去除模拟器外框
  10. vtk在linux下的安装(12月8日更新)