如何在Java中正确使用readAllLines?
我试图读取文件中的每一行,然后将它们拆分。这是我第一次这样做,我不确定我是否使用了正确的字符集或文件路径。谢谢你的帮助!以下是我的尝试: main中的路径(ruta)指定如下:如何在Java中正确使用readAllLines?,java,file,path,character-encoding,file.readalllines,Java,File,Path,Character Encoding,File.readalllines,我试图读取文件中的每一行,然后将它们拆分。这是我第一次这样做,我不确定我是否使用了正确的字符集或文件路径。谢谢你的帮助!以下是我的尝试: main中的路径(ruta)指定如下: Path ruta=FileSystems.getDefault().getPath("mapa.csv"); 我的文件名是mapa.csv,我正在尝试访问它的文件夹。构造函数如下所示: public void construirMapa() { List<String> lineas = null
Path ruta=FileSystems.getDefault().getPath("mapa.csv");
我的文件名是mapa.csv,我正在尝试访问它的文件夹。构造函数如下所示:
public void construirMapa() {
List<String> lineas = null;
try{
//this returns null
lineas = Files.readAllLines(ruta, Charset.defaultCharset());
}catch(IOException ex){
System.out.println(ex.getMessage());
}
if(lineas!=null){
Iterator <String> linea=lineas.iterator();
while(linea.hasNext()){
String[] atributo=linea.next().split(";");
}
}
}
public void construirMapa(){
列表lineas=null;
试一试{
//这将返回null
lineas=Files.readAllLines(ruta,Charset.defaultCharset());
}捕获(IOEX异常){
System.out.println(例如getMessage());
}
if(lineas!=null){
迭代器linea=lineas.Iterator();
while(linea.hasNext()){
字符串[]atributo=linea.next().split(;);
}
}
}
似乎没问题,您也可以使用以下代码:
catch (IOException ex)
{
e.printStackTrace();
}
要在错误情况下获取stacktrace您显示的代码通常看起来很好;也许除了它对所创建的atributo阵列不起作用之外。你甚至不会注意到那里发生了什么事;您的代码将读取该文件,处理内容。。。但是没有任何明显的副作用!为什么
ruta
是这样指定的?使用Path ruta=Path.get(“mapa.csv”)