-
标准I/O重定向
public class TestSetInput {
public static void main(String args[]){
FileInputStream fis;
try {
fis = new FileInputStream("source.txt");
System.setIn(fis);
int avg = 0;
int total = 0;
int count = 0;
int num = 0;
int i;
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
while(null != s && !s.equals("over")){
i = Integer.parseInt(s);
num ++;
total+=i;
avg=total/num;
System.out.println("num=" + num + "\ttotal=" + total + "\tavg=" + avg);
s = reader.readLine();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
假定在当前路径下存在数据文件source.txt(文件中应每行为一个整数,这里没有考虑数据格式非法的情况
)
source.txt:
23
73
119
208
285
程序运行结果
:
num=1 total=23 avg=23
num=2 total=96 avg=48
num=3 total=215 avg=71
num=4 total=423 avg=105
num=5 total=708 avg=141
分享到:
相关推荐
通过实际操作,学习如何利用Java I/O流进行数据的读取与写入,以及如何在读写过程中实现数据的高效处理。 二、实验环境 实验所需的硬件环境是个人计算机(PC机),软件环境主要包括Java Development Kit(JDK)包,...
在提供的内容中,我们可以看到关于Java编程语言的学习资源,特别是书籍和相关的技术点,这些内容涵盖了Java的基本概念、数据结构、集合框架、I/O操作以及数据库编程等重要知识点。接下来,我们将详细地探讨这些知识...
每个 PDF 文件都可能是一个专题,比如 `AbstractList.pdf` 可能详细介绍了 `AbstractList` 类的设计和使用,而 `java.io.pdf` 可能全面讲解了 Java I/O 流的用法和最佳实践。通过学习这些文档,开发者可以深入理解 ...
Java I/O流提供了一种读写数据的机制,适用于文件操作和数据传输。Java的网络编程允许开发网络应用,例如通过Socket进行客户端和服务器端的通信。反射机制允许程序在运行时动态地获取类的信息并调用其方法,这在配置...
Java专题学习笔记主要涵盖了Java语言的核心概念、进阶特性以及实际应用中的问题解析。这份笔记是结合了讲师的讲解和个人的整理,旨在为热爱Java编程的朋友们提供丰富的学习资源。以下将详细介绍其中可能包含的知识点...
**Java的高级编程接口**包括四个专题:Java图形GUI编程、多线程编程、I/O编程和网络编程。 - **Java图形GUI编程**涉及Java的AWT(Abstract Window Toolkit)和Swing库,用于创建用户界面。AWT提供了基本的组件和...
本专题将深入探讨Java语言的关键概念、语法特性以及实际应用,帮助软件设计师提升编程能力。 一、Java语言基础 Java语言源自C++,但其设计目标更注重代码的可移植性和安全性。它采用了类加载机制,使得程序可以在...
本面试专题主要围绕Nginx的基础概念、功能特性、配置与优化以及其在Java应用中的作用展开。 Nginx是一款高性能的Web服务器和反向代理服务器,它以其轻量级的进程模型、高效的异步非阻塞I/O处理能力而闻名。Nginx的...
"Java的专题,重点难点"这一主题旨在深入探讨Java语言的核心概念和常见问题,帮助学习者巩固基础,解决实际开发中的棘手问题。 一、Java基础 Java的基础部分涵盖了变量、数据类型、运算符、控制结构(如if-else,...
Java Netty面试专题涉及到的核心知识点主要集中在Java的IO模型、Netty框架的使用以及NIO的相关概念。以下是对这些知识点的详细解释: 1. **BIO、NIO、AIO的区别**: - **BIO ( Blocking I/O)**:同步阻塞IO模型,...
2. 高级IO/NIO:掌握Java IO流的使用,理解NIO(非阻塞I/O)的工作原理,熟悉AIO(异步I/O)的应用场景。 3. 泛型:了解泛型的基本概念、类型擦除、通配符以及如何编写泛型方法和类。 4. 设计模式:熟悉23种设计模式...
3. **NIO(非阻塞I/O)与AIO(异步I/O)**:Java NIO提供了一种不同于传统阻塞I/O的新型I/O模型,它允许多个通道并发读写,极大地提高了处理高并发I/O操作的能力。而AIO(即NIO.2)引入了异步非阻塞I/O,进一步简化...
在Java的高级编程接口中,四个专题分别是Java图形GUI编程、多线程编程、I/O编程和网络编程。Java图形GUI编程允许开发者创建用户界面,如按钮、文本框等组件,AWT和Swing是常用的库。多线程编程使程序能够同时执行多...
本专题主要涵盖了NIO(非阻塞I/O)的基础知识以及与Netty相关的线程模型、TCP粘包/拆包问题和序列化协议。 ### 1. BIO、NIO 和 AIO 的区别 - **BIO (Blocking I/O)**:同步阻塞I/O模型,每个连接都需要一个独立的...
- NIO(Non-blocking I/O)和AIO(Asynchronous I/O)的理解与应用。 10. **设计模式** - 23种设计模式,如单例、工厂、观察者、装饰器等模式的实际应用。 这份学习笔记全面地覆盖了Java开发中的重要知识点,...
- **NIO (Non-blocking I/O)**:非阻塞I/O模型,基于Java NIO API,使用一个线程可以处理多个连接,通过多路复用器(如Java的Selector)监控连接,当连接上有I/O事件发生时才进行处理,减少了线程开销。 - **AIO ...
3. **AIO (Asynchronous I/O)** 或 **NIO.2**:自JDK 7起,Java提供了异步非阻塞的I/O操作。在Tomcat中,你可以启用AIO模式以提高性能。 4. **APR (Apache Portable Runtime)**:通过JNI与Apache HTTP服务器的核心...
5. **输入/输出(I/O)**:Java I/O系统包括了文件操作、网络通信、流处理等,是程序读取和写入数据的关键部分。NIO(非阻塞I/O)是Java 1.4引入的新特性,提高了I/O操作的效率。 6. **Java Swing与JavaFX**:这两者...
Java NIO的主要组成部分包括Buffer、Channel、Selector等,这些组件为开发者提供了更加高效、灵活的I/O处理机制。 #### Buffer Buffer是Java NIO中最基本的概念之一,用于在Java NIO中存储不同类型的数据。缓冲区...