Java读取TXT文件数据到数组

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数组

}

package com.haoge.license

import java.io.BufferedReader

import java.io.File

import java.io.FileInputStream

import java.io.InputStreamReader

public class test {

/**

* @param args

*/

public static void main(String[] args) {

int i=1//行数

String a=""//第一行数据

String b=""//第二行数据

int[] k=null

File filetxt= new File("D:\\test.txt")

FileInputStream fis

try {

//建立文件输入流

fis = new FileInputStream(filetxt)

InputStreamReader isr = new InputStreamReader(fis)

BufferedReader br = new BufferedReader(isr)

String linetxt=""

while ((linetxt=br.readLine())!=null) {

if(i==1){

a=linetxt.trim()

}else if(i==2){

b=linetxt.trim()

}else{

break

}

i++

}

//生成数组

int length=Integer.parseInt(a)/2

k=new int[length]

for(int j=b.length()/2j>0j--){

k[length-j]=Integer.parseInt(b.substring(2*(j-1), 2*j))

}

//打印数据

for(int m=0m<k.lengthm++){

System.out.println("k["+m+"]="+k[m])

}

} catch (Exception e1) {

// TODO Auto-generated catch block

e1.printStackTrace()

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11902975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存