image.png

    1.数据流

    1. 1.1<br /> DataInputStream DataOutputStream<br /> 1.2作用:<br /> 用于读取或写出基本数据类型的变量或字符串<br /> 练习:将内存中的字符串、基本数据类型的变量写出到文件中
    1. package com.atguigu.java2;
    2. import org.junit.Test;
    3. import java.io.*;
    4. /**
    5. * @author Dxkstart
    6. * @create 2021-05-31 11:14
    7. */
    8. public class DataStream {
    9. /*
    10. 1.数据流
    11. 1.1
    12. DataInputStream 和 DataOutputStream
    13. 1.2作用:
    14. 用于读取或写出基本数据类型的变量或字符串
    15. 练习:将内存中的字符串、基本数据类型的变量写出到文件中。
    16. */
    17. @Test
    18. public void test() {
    19. DataOutputStream dos = null;
    20. try {
    21. //1.
    22. dos = new DataOutputStream(new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\IO\\hello2.txt")));
    23. //2.
    24. dos.writeUTF("叶文洁");
    25. dos.flush();//刷新到文件中
    26. dos.writeInt(19);
    27. dos.flush();
    28. dos.writeBoolean(false);
    29. dos.flush();
    30. } catch (IOException e) {
    31. e.printStackTrace();
    32. } finally {
    33. try {
    34. if(dos != null) {
    35. dos.close();
    36. }
    37. } catch (IOException e) {
    38. e.printStackTrace();
    39. }
    40. }
    41. }
    42. /*
    43. 将文件中存储的基本数据类型变量和字符串读取到内存中,保存在变量中。
    44. 注意点:读取不同类型的数据的顺序要与当初写入文件时,保存的数据的顺序一致!
    45. */
    46. @Test
    47. public void test2(){
    48. DataInputStream dis = null;
    49. try {
    50. //1.
    51. dis = new DataInputStream(new FileInputStream(new File("C:\\Users\\Administrator\\Desktop\\IO\\hello2.txt")));
    52. //2.读文件
    53. String name = dis.readUTF();
    54. int age = dis.readInt();
    55. boolean isMale = dis.readBoolean();
    56. System.out.println("name:" + name);
    57. System.out.println("age:" + age);
    58. System.out.println("male:" + isMale);
    59. } catch (IOException e) {
    60. e.printStackTrace();
    61. } finally {
    62. //3.
    63. try {
    64. if(dis != null) {
    65. dis.close();
    66. }
    67. } catch (IOException e) {
    68. e.printStackTrace();
    69. }
    70. }
    71. }
    72. }