Java读取tx文件问题

有一txt文件,里面的内容如下:
14-andy
22-jacky
12-ben
...
总之,每个占一行,我要如何把他读入到Java的String[]数组里?
最新回答
狗屎味的小仙女

2024-11-25 06:46:03

如果文件在d:/abc.txt
那么程序如下
public class ReadText{
public static void main(String []){
//java的文件输入流对象
InputStream is=new FileInputStream("d:/abc.txt")
//java的文本处理流
BufferedReader br=new BufferedReader(new InputStreamReader(is));
//集合,使用集合比数组方便很多
List<String> l=new ArrayList();
while(true){//重复读数据
//调用处理流中每次读取abc.txt文件中的一行
String s=br.readLine();
//如果读到的内容为空,那么跳出重复读取
if(s==null)break;
//把读取到的数据添加到集合中
l.add(s)
}
//非要放到数组中的话,创建字符串数组,长度位集合size
String[] ss=new String[l.size()];
//遍历集合存入数组,每次作数组元素输出
for(int i=0;i<l.size();i++){
ss[i]=l.get(i);
System.out.println("String["+i+"]:"+ss[i]);
}
}
}
春风正得意

2024-11-25 07:26:12

用inputstream的readline每次读一行
然后用tokenizer按‘-’分离就可以了
详细查一下帮助文档就明白了。
々依恋瑾滢妍

2024-11-25 07:22:48

C:\a.txt内容如下:
14-andy
22-jacky
12-ben

//可以整理城如下代码:
package com.zte.file;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class ReadToStringAry {

public ReadToStringAry(){}

public static void main(String[] args) {

try {
File file = new File("c:\\a.txt");
InputStream is = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

String readStr = null;
List<String> buf = new ArrayList<String>();
while(null!=(readStr=br.readLine())) {
buf.add(readStr);
}

//打印读取到的数据
print(buf);

}catch(Exception ex) {
ex.printStackTrace();
}

}

public static void print(List<String> list) {
for(String o: list) {
System.out.println(o);
}
}

}

//打印结果如a.txt文件中内容。