我在维护java为我读取文件时遇到问题。我有一本书。包含所有丹麦岛屿的txt文件,但不管我如何尝试,它都不会显示在控制台中。
这是带有main方法的类。从这里它读取文件并拆分行以将数据放入ArrayList中。
public class DanishIslandFileReader {
private File inFile;
private List<DanishIsland> islandList;
public DanishIslandFileReader(String fName) {
inFile = new File(fName);
}
private void readFile() {
islandList = new ArrayList<DanishIsland>();
Scanner scan = null;
try {
scan = new Scanner(inFile);
} catch (FileNotFoundException fnfe) {
System.out.println(fnfe);
}
while (scan.hasNext()) {
String line = scan.nextLine();
String[] tokens = line.split(" ");
String name = tokens[0];
double circ = Double.parseDouble(tokens[1]);
double area = Double.parseDouble(tokens[2]);
int addr = Integer.parseInt(tokens[3]);
int adkm = Integer.parseInt(tokens[4]);
DanishIsland island = new DanishIsland(name, circ, area, addr, adkm);
System.out.println(island.toString());
islandList.add(island);
}
scan.close();
}
public List<?> getList() {
return islandList;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws FileNotFoundException {
System.out.println(new File(".").getAbsolutePath());
// DanishIslandFileReader fr = new DanishIslandFileReader("Islands punktum.txt");
DanishIslandFileReader fr = new DanishIslandFileReader("Islands komma.txt");
fr.readFile();
System.out.println("Result:\n" + fr.getList());
}
}
当行被拆分后,它将通过另一个类,该类将数据转换为字符串,并将其放入另一个Arraylist,该Arraylist将在控制台中打印。
public class DanishIsland {
private String name;
private double circumference;
private double area;
private int addresses;
private int addrPerKm2;
public DanishIsland(String name, double circumference, double area,
int addresses, int addrPerKm2) {
super();
this.name = name;
this.circumference = circumference;
this.area = area;
this.addresses = addresses;
this.addrPerKm2 = addrPerKm2;
}
public String getName() {
return name;
}
public double getCircumference() {
return circumference;
}
public double getArea() {
return area;
}
public int getAddresses() {
return addresses;
}
public int getAddrPerKm2() {
return addrPerKm2;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append(name);
builder.append("\t");
builder.append(circumference);
builder.append("\t");
builder.append(area);
builder.append("\t");
builder.append(addresses);
builder.append("\t");
builder.append(addrPerKm2);
builder.append("\n");
return builder.toString();
}
}
我不会得到任何错误或异常,程序会一直运行,直到它认为列表已经打印出来。
问题是这个列表是空的,我似乎无法从列表中做出任何形式的“sout”。txt文件。我做错了什么?
Lolland 298,388 1234,96 38919 32
Bornholm 108,047 588,025 27125 46
Falster 145,926 516,268 26654 52
Mors 139,254 361,745 12374 34
你试过调试它吗?我认为它没有进入
while (scan.hasNext())
因为扫描。hasNext返回false。这可能是文件权限问题。
这也可能是相关的:为什么hasNext()False,但hasNextLine()是True?
主要内容:实例,从屏幕上读取用户输入,实例,从文件上读取内容,实例Scala 进行文件写操作,直接用的都是 java中 的 I/O 类 (java.io.File): 实例 import java. io. _ object Test { def main (args : Array [String ] ) { val writer = new PrintWriter ( new File ( "test.txt" ) ) wri
主要内容:简单模式,实例,完全模式,实例,实例Lua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。 简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。 完全模式(complete model) 使用外部的文件句柄来实现。它以一种面对对象的形式,将所有的文件操作定义为文件句柄的方法 简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候,简单模
本文向大家介绍Python文件I / O,包括了Python文件I / O的使用技巧和注意事项,需要的朋友参考一下 示例 file不再是中的内置名称3.x(open仍然有效)。 文件I / O的内部详细信息已移至标准库io模块,这也是以下内容的新主目录StringIO: 文件模式(文本还是二进制)现在确定通过读取文件产生的数据类型(以及写入所需的类型): 文本文件的编码默认为返回的。要明确指定编码
本教程讲述的是 JDK 7 版本以来引入的新的 I/O 机制(也被称为 NIO.2)。 相关的包在 java.nio.file ,其中 java.nio.file.attribute 提供对文件 I/O 以及访问默认文件系统的全面支持。虽然 API 有很多类,但你只需要重点关注几个。你会看到,这个 API 是非常直观和易于使用。 什么是路径(Path)?在其他文件系统的实际是怎么样的? 文件系统是
Lua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。 简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。 完全模式(complete model) 使用外部的文件句柄来实现。它以一种面对对象的形式,将所有的文件操作定义为文件句柄的方法 简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候,简单模
Scala 进行文件写操作,直接用的都是 java中 的 I/O 类 (java.io.File): import java.io._ object Test { def main(args: Array[String]) { val writer = new PrintWriter(new File("test.txt" )) writer.write("本站