想要打印出存储的信息。我该如何解决这个问题?
public class schoolTimeTable {
private static ArrayList<String> timesArray = new ArrayList<String>();
public static void main(String[] args) {
Scanner scanner = null;
try {
File file = new File("C:/Users/Tommy/workspace/Prov/src/TestPaket/text.txt");
scanner = new Scanner(file);
while(scanner.hasNextLine()){
String[] tokens = scanner.nextLine().split("\\s+");
String[] times = tokens;
for(String time: times)
timesArray.add(time);
System.out.println(timesArray);
}} catch (Exception e) {
// TODO: handle exception
}
}}
答案 0 :(得分:4)
如果你更注重代码格式和风格,你会做得更好。这对可读性和理解都很重要。
catch块什么都不做。你永远不应该有一个空的挡块。始终至少打印堆栈跟踪。
对我来说很好:
package cruft;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* SchoolTimeTable
* @author Michael
* @link http://stackoverflow.com/questions/15318400/trying-to-read-from-a-text-file-store-it-into-an-an-arraylist-and-print-the-sto/15318413#15318413
* @since 3/9/13 10:02 PM
*/
public class SchoolTimeTable {
private static List<String> timesArray = new ArrayList<String>();
public static void main(String[] args) {
try {
File file = new File("resources/timeTable.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String[] times = scanner.nextLine().split("\\s+");
for (String time : times) {
timesArray.add(time);
}
System.out.println(timesArray);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
我把这个timeTable.txt放在我项目的资源文件中:
1
2 3 4
5 6 7 8
这是我运行时得到的输出:
"C:\Program Files\Java\jdk1.7.0_17\bin\java" cruft.SchoolTimeTable
[1]
[1, 2, 3, 4]
[1, 2, 3, 4, 5, 6, 7, 8]
Process finished with exit code 0
这对我来说是正确的。
答案 1 :(得分:1)
因为没有打印,我的假设是文件名不正确,或者Java不喜欢它。
仔细检查路径,尝试用(双)反斜杠替换正斜杠,如下所示:
C:\\Users\\Tommy\\workspace\\Prov\\src\\TestPaket\\text.txt
当然,正如其他人所说,将catch
块更改为:
catch (Exception e) {
e.printStackTrace();
}
答案 2 :(得分:0)
还是读取文件? 我运行你的代码。是的。 该文件的内容是:
demo1,28,FEB-01,真 demo2,22,DEC-03,假 demo3,21,DEC-03,假 demo4,25,癸03,真
文件名:Visitor.txt 我改变了一些代码:
package test;
import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;
public class schoolTimeTable {
private static ArrayList<String> timesArray = new ArrayList<String>();
public static void main(String[] args) {
Scanner scanner = null;
try {
File file = new File("d:/Visitor.txt");
scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String[] tokens = scanner.nextLine().split("\\s+");
String[] times = tokens;
for (String time : times)
timesArray.add(time);
}
System.out.println(timesArray);
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出: [demo1,28,feb-01,true,demo2,22,dec-03,false,demo3,21,dec-03,false,demo4,25,dec-03,true]。
在我看来,你是文件格式的内容。 您比较文件格式的内容。 希望能够提供帮助