Невозможно записать в файл сканер пробовать / ловить Java
Когда я запускаю эту программу, она предназначена для записи в текстовый файл, текстовый файл находится в том же каталоге, что и папка моего проекта.
try
{
Scanner inFile = new Scanner(new File ("details.txt"));
while(inFile.hasNext())
{
String line = inFile.nextLine(); //reads the line of text
Scanner del = new Scanner(line).useDelimiter("#"); //scanner class to delimit
String name = del.next();
String gender = del.next();
int age = del.nextInt();
double amount = del.nextDouble();
txaDisplay.append(name+"\t"+gender+"\t"+age+"\t"+amount+"\n");
del.close();
}
inFile.close();//end try
}
catch(FileNotFoundException f)
{
txaDisplay.append("File Not Found");
System.exit(0);}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new yest().setVisible(true);
}
});}
1 ответ
Решение
Вам действительно нужно записать в файл. Вот пример, который я даю людям, которые плохо знакомы с выводом файлов. Это использует FileWriter
выходной поток. Заметка Data
вот ArrayList
,
public static void WriteFile(File file)
{
System.out.println("Writing to file");
//Use a FileWriter to output to file
FileWriter oFile = null;
try
{
oFile = new FileWriter(file, false); //Set to true if you don't want to overwrite existing contents in file
// Begin writing to file... line by line
for (String line : Data)
oFile.write(line + System.getProperty("line.separator")); //Since notepad doesn't display newline characters (\n) use this
//If using another text document viewer then just use + "\n"
//Flush and close output stream
oFile.flush();
oFile.close();
} catch (IOException e)
{
// Handle it!
e.printStackTrace();
}
}