我不明白为什么我的程序无法运行。它可以编译,但是什么也不会打印。我的档案中有5个字元的字词。我需要从该文件中读取一行,然后将其拆分为char数组,然后再将其打印出来。谢谢!
import java.io.FileReader;
import java.io.IOException;
import java.io.BufferedReader;
public class test {
public static void main(String[] args)
{
BufferedReader line = null;
char[] array = new char[7];
try{
line = new BufferedReader(new FileReader(args[0]));
String currentLine;
while((currentLine = line.readLine()) != null)
{
array = currentLine.toCharArray();
}
for(int i = 0; i < array.length; i++)
{
System.out.print(array[i]);
}
}//try
catch(IOException exception)
{
System.err.println(exception);
}//catch
finally
{
try
{
if(line != null)
line.close();
}//try
catch(IOException exception)
{
System.err.println("error!" + exception);
}//catch
}//finally
} // main
} // test
最佳答案
您的while循环会跳过除最后一行以外的每一行,因此最后一行可能为空。要显示每一行,您可以:
while ((currentLine = line.readLine()) != null) {
array = currentLine.toCharArray();
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
}
System.out.println();
}
或者,如果只有1行,则可以简单地使用:
String currentLine = line.readLine();
...
关于java - 阅读行并拆分为char数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12324528/