Java读取TXT文件数据到数组

Python017

Java读取TXT文件数据到数组,第1张

1

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()

}

}