将控制台输出到文本文件?-JAVA
根据我的代码:将控制台输出到文本文件?-JAVA,java,console,text-files,Java,Console,Text Files,根据我的代码: import java.util.Scanner; public class AccountTest { public static void main(String[] args) { Account account1 = new Account(50.00); Account account2 = new Account(0.00); System.out.printf("account1 balance: $%.
import java.util.Scanner;
public class AccountTest {
public static void main(String[] args) {
Account account1 = new Account(50.00);
Account account2 = new Account(0.00);
System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
System.out.printf("account2 balance: $%.2f\n\n", account2.getBalance());
Scanner input = new Scanner(System.in);
System.out.print("Enter withdrawal amount for account1: ");
double withdrawalAmount = input.nextDouble();
System.out.printf("\nsubtracting %.2f from account1 balance\n",
withdrawalAmount);
account1.debit(withdrawalAmount);
System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
System.out.printf("account2 balance: $%.2f\n\n", account2.getBalance());
System.out.print("Enter withdrawal amount for account2: ");
withdrawalAmount = input.nextDouble();
System.out.printf("\nsubtracting %.2f from account2 balance\n",
withdrawalAmount);
account2.debit(withdrawalAmount);
System.out.printf("account1 balance: $%.2f\n", account1.getBalance());
System.out.printf("account2 balance: $%.2f\n", account2.getBalance());
}
}
如何将我的“System.out.printf”转储到文件中(转储为不删除文件内容)?或者为每个实例创建单独的文件。任何帮助是感谢初学者在这里。谢谢。1)您可以在运行程序时将stdout重定向到文件
java AccountTest >> test.txt
PrintStream out = new PrintStream(new FileOutputStream("test.txt", true));
System.setOut(out);
2) 您可以在程序开始时重新分配stdout
java AccountTest >> test.txt
PrintStream out = new PrintStream(new FileOutputStream("test.txt", true));
System.setOut(out);
3) 您可以使用java.io.PrintWriter而不是System.out
PrintWriter out = new PrintWriter(new FileWriter("test.txt", true));
out.printf( "account1 balance: $%.2f\n", account1.getBalance() );
1) 运行程序时,可以将标准输出重定向到文件
java AccountTest >> test.txt
PrintStream out = new PrintStream(new FileOutputStream("test.txt", true));
System.setOut(out);
2) 您可以在程序开始时重新分配stdout
java AccountTest >> test.txt
PrintStream out = new PrintStream(new FileOutputStream("test.txt", true));
System.setOut(out);
3) 您可以使用java.io.PrintWriter而不是System.out
PrintWriter out = new PrintWriter(new FileWriter("test.txt", true));
out.printf( "account1 balance: $%.2f\n", account1.getBalance() );
这取决于你如何运行这个程序。如果您手头有一个POSIX shell,您可以将其标准输出重定向到一个文件 以下内容将附加到日志文件:
$ java -jar myjar.jar >> log
这将每次创建一个新的纪元日志文件(我不确定,$(…)
可能是bash特有的功能):
这取决于你如何运行这个程序。如果您手头有一个POSIX shell,您可以将其标准输出重定向到一个文件 以下内容将附加到日志文件:
$ java -jar myjar.jar >> log
这将每次创建一个新的纪元日志文件(我不确定,$(…)
可能是bash特有的功能):
已经有答案了。若我并没有弄错,那个么将读取一个输入行,然后保存到文本文件。请注意,在我的代码中,我根本不打算在控制台上输入任何内容。@user2077545请查看该问题中排名最高的答案:是的,但这只是替换了我希望避免的文件内容。更不用说我所有的行都在文件中拼凑在一起了。已经有答案了。若我并没有弄错,那个么将读取一个输入行,然后保存到文本文件。请注意,在我的代码中,我根本不打算在控制台上输入任何内容。@user2077545请查看该问题中排名最高的答案:是的,但这只是替换了我希望避免的文件内容。更不用说我的所有行在文件中都被打断了;声明为thrown这将有帮助:main(String[]args)抛出ExceptionThat worked,但它仍在用每个新实例替换转储文件的内容。如何在代码中实现#1以便测试它。我不知道。不要更改代码中的任何内容,只需从命令行java AccountTest>>test.txt运行程序。该行给了我错误:未报告的异常IOExecption;声明为thrown这将有帮助:main(String[]args)抛出ExceptionThat worked,但它仍在用每个新实例替换转储文件的内容。如何在代码中实现#1以便测试它。我不知道。不要更改代码中的任何内容,只需从命令行java AccountTest>>test.txt运行您的程序。我在Windows命令提示符下运行它。我在Windows命令提示符下运行它。