Я хочу прочитать файл с номерами Account.txt
И хочу сохранить каждую строку в строке массива. Пример. файл имеет 3 строки 123\n234\n456
. А массив String a имеет 3 размера, а 1-й массив должен иметь 123, second-> 234 и 3rd-> 456. Но он не работает. Спасибо заранее.Ошибка при чтении файла
package javaapplication10;
import java.util.Scanner;
import java.io.*;
public class JavaApplication10
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String temp = " ";
FileWriter fw = null;
FileReader fr = null;
int a=0;
while(true)
{
System.out.println("1) Input new ");
System.out.println("2) display ");
System.out.println("3) Exit");
System.out.print(" Enter your choice : ");
int choice = input.nextInt();
switch(choice)
{
case 1: System.out.println(" Enter new Account number : ");
temp = input.next();
try
{
fw = new FileWriter("Account.txt",true);
fw.write(temp);
fw.write(System.getProperty("line.separator" ));
fw.flush();
}
catch(IOException ex)
{
ex.printStackTrace();
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
if(fw!=null)
{
try
{
fw.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
}
break;
case 2: try
{
fr = new FileReader("Account.txt");
int i = 0;
int line =0;
while((i = fr.read()) != -1)
{
if(i == '\n')
line++;
}
String s[] = new String[line];
a=0;
i=0;
System.out.println("2");
for(int j=0; j<line;j++)
{
while((i = fr.read())!=10)
{
if(i!=-1)
{
System.out.println(String.valueOf(i));
s[j] = s[j].concat(String.valueOf(i));
}
else
break;
}
System.out.println(s[j]);
}
}
catch(FileNotFoundException ex)
{
ex.printStackTrace();
}
catch(IOException ex)
{
ex.printStackTrace();
}
finally
{
if(fr!=null)
{
try
{
fr.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
fr = null;
}
}
break;
case 3: System.exit(0);
default: System.out.println(" Wrong Choice !!!");
}
}
}
}
Какая ошибка? Добавьте стек. – Jens
Значение файла не сохраняется в массиве String. –
Вы читаете весь файл, чтобы получить количество строк, а затем вы пытаетесь читать из того же «FileReader», чтобы читать дальше ... Как читать больше, если вы уже читаете _everything_? – Tom