JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记

 

java程序中可以使用Process类的实例对象来表示子进程,子进程的输入输出不再连接到显示器和键盘,而是以管道流的方式连接到父进程的一个输入输出流对象上。父进程就是JVM,调用Process类的getOutputStream和getInputStream方法可以连接到子进程的输出流和输入流对象。子进程从标准输入读取到的内容就是父进程通过输出流对象写入到他们两者之间进程管道中的数据,子进程写入到标准输出的数据通过他们之间的进程管道传送到了输入流对象中,父进程从这个管道中读取到的输入内容就是子进程写入的标准输出的数据,

 

编程实例:在TestInOut类中启动java.exe命令执行另外一个MyTest类,TestInOut和MyTest通过进程间的管道互相传递数据。TestInout这个类是在JVM中运行的,他是一个进程,java.exe是TestInout的子进程,在TestInout类中要启动两个线程,类TestInout是主线程,不停地向MyTest这个子进程发送数据,同时在TestInout中还启动另外一个线程,不停地读取MyTest这个进程中写回来的数据,练习的代码:

 

子进程、父进程、线程的代码练习!

 

 

子进程、父进程、线程的代码练习!

 

 

子进程、父进程、线程的代码练习!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
<h3>回答1:</h3><br/>首先,我们需要创建一个File对象来表示我们要写入数据的文件。然后,我们可以使用FileOutputStream类来创建一个输出流,将数据写入文件中。以下是示例代码: ``` import java.io.*; public class WriteToFile { public static void main(String[] args) { File file = new File("data.txt"); try { FileOutputStream fos = new FileOutputStream(file); for (int i = 1; i <= 10; i++) { fos.write(i); } fos.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们使用了一个for循环来写入数字1到10。每次循环,我们使用write()方法将一个数字写入文件中。最后,我们关闭输出流。 接下来,我们需要读取文件中的数据。我们可以使用FileInputStream类来创建一个输入流,从文件中读取数据。以下是示例代码: ``` import java.io.*; public class ReadFromFile { public static void main(String[] args) { File file = new File("data.txt"); try { FileInputStream fis = new FileInputStream(file); int data; while ((data = fis.read()) != -1) { System.out.print(data + " "); } fis.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们使用了一个while循环来读取文件中的数据。每次循环,我们使用read()方法读取一个字节的数据,并将其存储在变量data中。如果读取到文件末尾,read()方法将返回-1,循环将结束。最后,我们关闭输入流。 通过以上代码,我们可以实现向文件中写入数字并读取的功能。 <h3>回答2:</h3><br/>数据I/O流是Java输入输出信息的重要工具,它可以被用来读写文件,网络连接和其他数据源和目标。向文件中写入数字并读取,是数据I/O流中最基本的应用之一。以下是学习数据I/O流之向文件中写入数字并读取的几个主要步骤: 1. 创建文件。在Java程序中,文件的创建可以用File类的构造函数来完成。在调用File类的构造函数时,需要给定文件名和文件路径。例如,我们可以使用以下代码来创建一个名为“numbers.txt”的新文件: File file = new File("numbers.txt"); 2. 向文件中写入数字。在Java程序中,数据I/O流的写入操作通常使用OutputStream类及其子类来完成。例如,我们可以使用以下代码向文件中写入数字: try (DataOutputStream dos = new DataOutputStream(new FileOutputStream(file))) { dos.writeInt(10); dos.writeInt(20); dos.writeInt(30); } catch (IOException e) { e.printStackTrace(); } 在上述代码中,我们使用了DataOutputStream类来将整数值写入文件中。DataOutputStream类是OutputStream类的子类,可以将Java的基本数据类型转化为字节流并写入到文件中。 3. 从文件中读取数字。在Java程序中,数据I/O流的读取操作通常使用InputStream类及其子类来完成。例如,我们可以使用以下代码从文件中读取数字: try (DataInputStream dis = new DataInputStream(new FileInputStream(file))) { int firstNum = dis.readInt(); int secondNum = dis.readInt(); int thirdNum = dis.readInt(); System.out.println("The numbers in the file are " + firstNum + ", " + secondNum + ", " + thirdNum); } catch (IOException e) { e.printStackTrace(); } 在上述代码中,我们使用了DataInputStream类来从文件中按顺序读取整数值。DataInputStream类是InputStream类的子类,可以将字节流转化为Java的基本数据类型。 总之,学习数据I/O流之向文件中写入数字并读取是Java编程的必要基础。掌握这一基本技能可以让我们更加容易地处理文件和其他数据源,并为更高级的应用打下坚实的基础。 <h3>回答3:</h3><br/>Java输入输出(IO)流是Java中非常重要的一个概念,在Java中我们通常使用流来进行数据的读取和写入操作。数据IO流就是流的一种,用来在程序和文件之间传输数据。简单的说,就是 Java程序通过数据IO流向文件中写数据,在需要的时候从文件中读取数据。 输入流(Input Stream) 和 输出流(Output Stream) 是Java IO包中的两个重要的类,它们提供了从文件读取数据和向文件写入数据的功能。在学习数据IO流之前,需要了解一下Java中的文件类:File类。 File类用于描述文件或者目录,它的构造方法可以传入文件的路径或者文件句柄。File类提供了很多方法用于操作文件,比如:判断该文件是否存在(isExist),获取文件名(getName),获取文件路径(getPath)等等。 下面是向文件中写入数字并读取的示例代码: // 在文件中写入数字 FileOutputStream fos = new FileOutputStream("temp.txt"); for(int i=0;i<5;i++){ fos.write(i); } fos.close(); // 从文件中读取数字 FileInputStream fis = new FileInputStream("temp.txt"); int i; while((i = fis.read()) != -1){ System.out.println(i); } fis.close(); 上述代码中,首先我们创建了一个名为“temp.txt”的文件,在该文件中写入了5个数字。然后我们使用FileInputStream从该文件中读取数字,读取到-1标志文件读取结束。在读取过程中,我们使用了一个while循环和一个用于读取每个字节的变量i。最后,程序输出了读取到的所有数字。 需要注意的是,在读取文件时,我们需要先判断是否已经读到了文件的结束,也就是判断读取到的字节数是否为-1。这是因为在Java中,EOF(文件结束标志)被定义为-1。 总之,Java输入输出(IO)流是编程中非常重要的一部分,掌握好它对编程会非常有帮助。对于使用Java-IO流进行文件读写操作,建议大家多进行练习,深入了解其使用方法,以便更好的掌握Java编程技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

任付江

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值