嘿我想要运行我的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("");
}
}
}
}
答案 0 :(得分:1)
要始终在新文件中发帖,您可以使用java.util.UUID。完整的流程将如下:
UUID.randomUUID()
生成UUID,并将此UUID视为您的文件名答案 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;
}
}