java读取多行txt文件

2024-12-12 13:25:22
推荐回答(5个)
回答1:

可以通过BufferedReader 流的形式进行读取,之后循环输出每一行的内容。
BufferedReader bre = null;
try {
bre = new BufferedReader(new FileReader(file));//file为文件的路径+文件名称+文件后缀
while ((str = bre.readLine())!= null) // ●判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close();

回答2:

public static String[] writeToDat(String path) throws Exception {
File file = new File(path);
List list = new ArrayList();
BufferedReader bw = new BufferedReader(new FileReader(file));
String line = null;
while ((line = bw.readLine()) != null) {
list.add(line);
}
bw.close();
String[] nums=new String[list.size()];
String result=null;
for (int i = 0; i < list.size(); i++) {
result = list.get(i);
nums[i]=result;
}
return nums;
}
就可以了!
String[] nums=null;

下面的
nums[i]=result;

不能赋值的。如果要赋值涉及到数组的扩容。
好好学习

回答3:

String[] nums=null;这里,nums为null。
你已经放到list里面了,不知道你为啥还要用个数组。
如果你确实要用,你可以用String[] nums=new String[list.size()];

回答4:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static Object[] writeToDat(String path) throws Exception {
File file = new File(path);
List list = new ArrayList();
BufferedReader bw = new BufferedReader(new FileReader(file));
String line = "";
while ((line = bw.readLine()) != null) {
list.add(line);
}
bw.close();
String result = "";

Object[] nums = list.toArray();;
return nums;
}
public static void main(String[] args) throws Exception {
String path = "e:/test.txt";
Object[] nums = writeToDat(path);
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i].toString());
}
}
}

回答5:

正如楼上说的 加上编码设置就更好了