java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
这篇文章主要为大家详细介绍了用重定向方法从文件中读入或写入数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
用重定向方法从文件中读入或写入数据
1. 问题描述
先产生 10000 个随机数,每十个一行,放入文件中。(用重定向方法)
用重定向方法,从文件中读入 10000 个数字,打印出前十名。(不许调用排序方法)
2. 程序如下:
2.1 写入
- import java.util.Scanner;
- import java.util.List;
- import java.util.ArrayList;
- public class A {
- static void to_txt() {
- for (int i = 1; i <= 10000; i++) {
- System.out.print((int)(Math.random() * 10000 + 1) + " ");
- if (i % 10 == 0) System.out.println();
- }
- }
- public static void main(String[] args) {
- to_txt();
- }
- }
2.2 读出
- import java.util.Scanner;
- import java.util.List;
- import java.util.ArrayList;
- public class A {
- static void read_txt(int k) { //此处参数表示打印前k项
- List < Integer > lst = new ArrayList < Integer > ();
- Scanner scan = new Scanner(System. in );
- String s = scan.nextLine();
- String[] x = s.split(" ");
- lst.add(Integer.parseInt(x[0]));
- for (int i = 1; i < x.length; i++) {
- int b = Integer.parseInt(x[i]);
- if (b < lst.get(lst.size() - 1)) {
- lst.add(b);
- continue;
- }
- for (int j = 0; j < lst.size(); j++) {
- if (b > lst.get(j)) {
- lst.add(j, b);
- break;
- }
- }
- }
- for (int i = 0; i < k; i++) {
- System.out.print(lst.get(i) + " ");
- }
- }
- public static void main(String[] args) {
- read_txt(10);
- }
- }
3. 运行结果
3.1、从 Java 文件位置进入控制台,在控制台输入 Java 文件 > txt 文件,就能将运行结果写入指定 txt 文件(要写入的文件)中。
此时运行结果不在控制台显示,而写入了指定文件中
3.2、在 Java 文件位置处进入控制台,在控制台输入 Java + 文件名 < 指定 txt 文件(要读的文件)
如下图即为要输出的所读入的数据的前十项。
来源: http://www.phperz.com/article/17/1222/357895.html