Java流是一种抽象的数据流,它可以用来在两个不同的组件之间传输数据。它可以用来读取和写入文件、网络连接、字节数组或其他输入/输出(I/O)设备。Java流是一种面向对象的I/O机制,它使得开发人员能够使用标准的Java API来读取和写入数据。
要创建一个Java流对象,首先需要选择正确的流对象。Java有很多不同的流对象,包括InputStream、OutputStream、Reader和Writer。这些流对象都有不同的功能,因此在选择时应该根据应用程序的需要来选择正确的流对象。
一旦选定了正确的流对象,就可以使用相应的API来创建该对象。例如,如果要创建一个FileInputStream对象,可以使用FileInputStream(String fileName)方法来创建该对象。
FileInputStream fis = new FileInputStream("test.txt");
上面代码中,我们使用FileInputStream(String fileName)方法创建了一个文件“test.txt”的FileInputStream对象fis。这样就可以使用fis来读取文件“test.txt”中的数据了。
已将新方法添加到Java库以返回流。
我们可以通过以下方式创建流。
在以下部分中,我们将学习如何创建流。
我们可以使用Stream接口的()从单个值和多个值创建顺序流。
<T> Stream<T> of(T t) <T> Stream<T> of(T...values)
从方法签名,我们可以看到第一个of()方法从单个值创建流,而第二个of()方法从不同长度参数创建流
以下代码创建包含单个值的流。
import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<String> stream = Stream.of("www..cn"); stream.forEach(System.out::println); } }
上面的代码生成以下结果。
以下代码创建具有四个字符串的流。
import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<String> stream = Stream.of("XML", "Java", "CSS", "SQL"); stream.forEach(System.out::println); } }
上面的代码生成以下结果。
以下代码从对象数组创建流。
import java.util.stream.Stream; public class Main { public static void main(String[] args) { String[] names = { "XML", "Java", "SQL", "CSS" }; Stream<String> stream = Stream.of(names); stream.forEach(System.out::println); } }
上面的代码生成以下结果。
我们可以使用Stream.Builder<T>
创建流。
以下代码创建流构建器。
Stream.Builder<String> builder = Stream.builder();
import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<String> stream = Stream.<String>builder() .add("XML") .add("Java") .add("CSS") .add("SQL") .build(); stream.forEach(System.out::println); } }
上面的代码生成以下结果。
我们可以使用IntStream接口中的以下两种方法从一系列int值创建IntStream。
IntStream range(int start, int end) IntStream rangeClosed(int start, int end).
它们创建一个包含开始和结束之间的有序整数的IntStream。
指定的结束在range()方法中是独占的,并且在rangeClosed()方法中是包含的。
以下代码使用这两种方法创建一个IntStream,它的整数为1,2,3,4和5作为其元素:
import java.util.stream.IntStream; public class Main { public static void main(String[] args) { IntStream oneToFive = IntStream.range(1, 6); //IntStream oneToFive = IntStream.rangeClosed(1, 5); oneToFive.forEach(System.out::println); } }
像IntStream接口一样,LongStream类还包含range()和rangeClosed()方法,它们接受类型为long的参数,并返回一个LongStream。
上面的代码生成以下结果。
空流没有元素。
我们可以使用empty()静态方法从Stream接口以创建空的顺序流。
import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<String> stream = Stream.empty(); stream.forEach(System.out::println); } }
IntStream,LongStream和DoubleStream接口还包含一个empty()静态方法来创建一个空的基本类型流。
以下代码创建一个空的整数流。
IntStream numbers = IntStream.empty();
java.util包提供了Date类来封装当前的日期和时间。 Date类提供两个构造函数来实例化Date对象。第一个构造函数使用当前日期和时间...
Java copyValueOf() 方法JavaString类copyValueOf() 方法有两种形式:public static String copyValueOf(char[] data):返回指定...
Java round() 方法Java Number类round() 方法返回一个最接近的int、long型值。语法该方法有以下几种语法格式:long round(double...
在java开发中有一个非常重要的概念就是java反射机制,也是java的重要特征之一。反射的概念是由Smith在1982年首次提出的,主要是...
XML (eXtensible Markup Language)意为可扩展标记语言,被多数技术人员用以选择作为数据传输的载体,成为一种通用的数据交换格式...