将java方法打印到文本文件

时间:2016-08-10 17:07:11

标签: java

嘿我想要运行我的java类,每次运行它都会将控制台输出打印到桌面上的新文本文件中。我知道我的语法对方法有点奇怪,但这就是我的思维方式。我尝试将输出更改为String变量,因此我可以尝试将其直接打印到新的文本文件,但这不起作用。为了方便起见,我将所有控制台删除为文本代码。所以基本上我的问题是,当我运行它时,如何将其打印到新的文本文件? (我为我发布的任何错误道歉,因为这是我在这个网站上的第一篇文章,我不知道典型的格式)所以我正在编辑这个,因为我被投票,因为有人认为这是一个复制问题......我没有说明这一点,但我知道如何通过java创建一个文件,但我想让一个方法的输出打印到一个新的文本文件,而不仅仅是硬编码。很抱歉给您带来不便。

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("");


         }
     }
 }
}

4 个答案:

答案 0 :(得分:1)

要始终在新文件中发帖,您可以使用java.util.UUID。完整的流程将如下:

  1. 使用UUID.randomUUID()生成UUID,并将此UUID视为您的文件名
  2. 检查文件名是否已存在于特定位置(例如您的情况下为桌面)
  3. 如果存在,请转到步骤1.如果不存在,请转到步骤4
  4. 您拥有唯一的文件名

答案 1 :(得分:0)

无论你想显示和写入文件,都要说内容是保存它的String变量。您现在可以按照此方法将内容写入文件。

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();
        }
    }

答案 2 :(得分:0)

放置系统输出,因为它是从cmd提示符运行程序

编译:{{1​​}}

运行:javac Main.java

这将负责将控制台输出写入文件。

答案 3 :(得分:-1)

此代码将为您提供所需的输出。

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;
}
}