如何使用txt文件读取以下信息,并将数字仅写到另一个文本文件中?我将其显示到控制台,但它也不会写入文件。
琼斯369218658389641
史密斯6011781008881301
韦恩5551066751345482
葡萄酒4809134775860430
比奇9925689541232325
路加福音7586425896325410
白兰地4388576018410707
瑞安2458912425860439
import java.util.Scanner;
import java.io.File;
public class test {
public static void main(String[] args) throws Exception {
// Create a File instance
java.io.File file = new java.io.File("accounts.txt");
// Create a Scanner for the file
Scanner input = new Scanner(file);
// Read data from a file
while (input.hasNext()) {
String accountName = input.next();
Long cardNumber = input.nextLong();
//this is where I want to write just the numbers to a file called cardnums.txt
file = new java.io.File("cardnums.txt");
java.io.PrintWriter output = new java.io.PrintWriter(file);
output.println(cardNumber);
System.out.println(cardNumber);
}
// Close the file
input.close();
}
}
我知道了
import java.util.Scanner;
import java.io.File;
public class test {
public static void main(String[] args) throws Exception {
// Create a File instance
java.io.File file = new java.io.File("accounts.txt");
// Create a Scanner for the file
Scanner input = new Scanner(file);
// Read data from a file
file = new java.io.File("cardnums.txt");
java.io.PrintWriter output = new java.io.PrintWriter(file);
while (input.hasNext()) {
String accountName = input.next();
Long cardNumber = input.nextLong();
//this is where I want to write just the numbers to a file called credit.txt
output.println(cardNumber);
System.out.println(cardNumber);
}
// Close the file
input.close();
output.flush();
output.close();
}
}
最佳答案
java.io.PrintWriter output = new java.io.PrintWriter(file);
首先,为什么每次都使用相同的文件名循环调用此函数?
其次,一旦在循环外定义它,
调用outputstream对象上的flush(),然后在循环后关闭(如果不为null,则最好在finally块中)。
if(output!=null) {
output.flush();
output.close();
}
关于java - 使用Java从一个文件读取到另一个文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40708691/