Printing a java method to a text file
本问题已经有最佳答案,请猛点这里访问。
嘿,我想运行我的Java类,每次运行它都会把控制台输出打印到桌面上的一个新的文本文件。我知道我的语法在方法上有点奇怪,但我的思想就是这样工作的。我尝试将输出更改为字符串变量,以便直接将其打印到新的文本文件中,但这不起作用。为了方便起见,我删除了所有控制台文本代码。所以基本上我的问题是,当我运行这个时,我如何将它打印到一个新的文本文件?(我为我自己的任何张贴错误道歉,因为这是我在这个网站上的第一篇文章,我不知道典型的格式)所以我正在编辑这篇文章,因为我被否决了,因为有人认为这是一个复制品问题…我没有声明这一点,但是我知道如何通过Java来生成文件,但是我想让方法的输出被打印到一个新的文本文件中,而不仅仅是硬代码。抱歉给您带来不便。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | public class Main { public static void main(String[] args){ addHash(); } public static void addHash() { String outString ="#"; for (int maxRun = 0; maxRun <= 1000; maxRun++) { for (int y = 0; y <= 10; y++) { for (int x = -1; x <= y; x++) { System.out.print(outString); } outString +="#"; System.out.println(""); } for (int y = 10; y >= 0; y--) { for (int x = 0; x <= y; x++) { System.out.print(outString); } outString = outString.substring(0, outString.length() - 1); System.out.println(""); } } } } |
为了始终在新文件中发布,可以使用java.util.uuid。完整流程如下:
在命令提示下运行程序时放置系统输出
编译:
运行:
这将负责将控制台输出写入文件。
无论您想显示和写入文件的内容是什么,我们假设内容是保存它的字符串变量。现在,您可以按照此方法将这些内容写入文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public static void main(String[] args) { try { String content ="This is the content to write into file"; File file = new File("/users/mkyong/filename.txt"); // if file doesnt exists, then create it if (!file.exists()) { file.createNewFile(); } FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write(content); bw.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } } |
此代码将为您提供所需的输出。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; class WriteToFile { public static void main(String[] args) throws FileNotFoundException { String fileName = generateFileName(); addHash(fileName); } public static void addHash(String file) throws FileNotFoundException { PrintStream out = new PrintStream(new FileOutputStream(file)); String outString ="#"; for (int maxRun = 0; maxRun <= 1000; maxRun++) { for (int y = 0; y <= 10; y++) { for (int x = -1; x <= y; x++) { System.setOut(out); System.out.print(outString); } outString +="#"; System.setOut(out); System.out.println(""); } for (int y = 10; y >= 0; y--) { for (int x = 0; x <= y; x++) { System.out.print(outString); } outString = outString.substring(0, outString.length() - 1); System.out.println(""); } } } //creating filename public static String generateFileName() { int i = 0; String filename ="D:\\TempFile"; //it will be stored inside D drive,you can change drive value according to your need. File f = new File(filename); while (f.exists()) { i++; filename ="D:\\TempFile"; filename += Integer.toString(i); f = new File(filename); } return filename; } } |