可以通过BufferedReader 流的形式进行读取,之后循环输出每一行的内容。
BufferedReader bre = null;
try {
bre = new BufferedReader(new FileReader(file));//file为文件的路径+文件名称+文件后缀
while ((str = bre.readLine())!= null) // ●判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close();
public static String[] writeToDat(String path) throws Exception {
File file = new File(path);
List
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;
不能赋值的。如果要赋值涉及到数组的扩容。
好好学习
String[] nums=null;这里,nums为null。
你已经放到list里面了,不知道你为啥还要用个数组。
如果你确实要用,你可以用String[] nums=new String[list.size()];
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
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());
}
}
}
正如楼上说的 加上编码设置就更好了