2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.io.BufferedReader
import java.io.FileReader
import java.util.Arrays
public class FileToAry {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new FileReader("c:\\test.txt"))//使用BufferedReader 最大好处是可以按行读取,每次读取一行
int n = 0//定义n
int m = 0//定义m
int[] U = null//定义数组
int[] S = null//定义数组
int index = 0//索引
String temp//定义字符串,用于保存每行读取到的数据
while ((temp = br.readLine()) != null) {
int[] ary = aryChange(temp)//通过函数吧字符串数组解析成整数数组
if (index == 0) {
n = ary[0]
m = ary[1]
}
if (index == 1) {
U = ary
}
if (index == 2) {
S = ary
}
index++
}
br.close()// 关闭输入流
// 测试输出
System.out.println("n=" + n + "\tm=" + m + "\n数组U=" + Arrays.toString(U) + "\n数组S=" + Arrays.toString(S))
}
static int[] aryChange(String temp) {// 字符串数组解析成int数组
String[] ss = temp.trim().split("\\s+")// .trim()可以去掉首尾多余的空格
// .split("\\s+")
// 表示用正则表达式去匹配切割,\\s+表示匹配一个或者以上的空白符
int[] ary = new int[ss.length]
for (int i = 0i <ary.lengthi++) {
ary[i] = Integer.parseInt(ss[i])// 解析数组的每一个元素
}
return ary// 返回一个int数组
}
public static void main(String[] args) {try {
System.out.println(System.in)
FileReader fileReader = new FileReader("D:\\data.txt")
BufferedReader buf = new BufferedReader(fileReader)
int i = 0
String readLine = ""
String[] myArray = new String[500] //100:这个值你自己定义,但不宜过大,要根据你文件的大小了,或者文件的行数
while((readLine = buf.readLine()) != null){
myArray[i] = readLine
if("33333".equalsIgnoreCase(readLine)){
myArray[i]="aaaaa"
}
i++
}
}
catch (Exception e) {
e.printStackTrace()
}
}