2016-08-10 4 views
-2

Эй, я ищу, чтобы запускать свой класс java, и каждый раз, когда он запускается, он выводит вывод консоли на новый текстовый файл на рабочем столе. Я знаю, что мой синтаксис немного странный с помощью методов, но это как раз то, как мой ум работает. Я попытался изменить вывод на переменную String, чтобы попытаться напрямую распечатать его в новом текстовом файле, но это не сработало. Я удалил всю консоль в текстовый код только для удобства y'alls. Итак, в основном, мой вопрос заключается в том, когда я запускаю его, как бы напечатать его в новом текстовом файле? (Я прошу прощения за любые ошибки проводки с моей стороны, так как это мой первый пост на этом сайте, и я не знаю типичный формат). Поэтому я редактирую это, потому что я получил downvoted, потому что кто-то думал, что это вопрос с репликой ... I не сказал об этом, но я знаю, как сделать файл через java, но я хочу, чтобы вывод метода был напечатан в новом текстовом файле, а не только в жестком коде. Извините за неудобства.Печать 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

Почему вы не можете просто использовать Log4j файл Appender концепции http://www.java4s.com/log4j-tutorials/example-on-log4j-properties-file-with-fileappender/ – Aditya

ответ

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

Это, кажется, работает безупречно, однако я не могу найти местоположение назначенного файла ... – FuManSchu

+0

вы используете eclipse или запускаете его через консоль? –

+0

IntelliJ. Тем не менее, я не знаю, где находится файл, который он создает. – FuManSchu

0

Все, что вы хотите отобразить и записать в файл, скажем, содержимое переменной Строка, которая держит его. Теперь вы можете следовать этому методу, чтобы просто написать материал в файл.

public static void main(String[] args) { 
     try { 
      String content = "This is the content to write into file"; 

      File file = new File("https://stackoverflow.com/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

Для публикации всегда в новом файле вы можете использовать java.util.UUID. Полный поток будет как:

  1. Генерировать UUID с помощью UUID.randomUUID() и рассмотреть этот UUID в качестве имени файла
  2. Проверьте, если имя файла уже существует в определенном месте (скажем, рабочий стол в вашем случае)
  3. Если это существует, перейдите к шагу 1. Если он не существует, перейдите к шагу 4
  4. у вас есть ваше уникальное имя файла
0

Наведите sysouts, как это запустить программу из CMD быстрой

компиляции: javac Main.java

пробег: java Main > stacktrace.txt

Это будет заботиться о написании консольного вывода в файл.

+0

Любая идея, как почини это? Ошибка: не удалось найти или загрузить основной класс Main.java – FuManSchu

+0

был успехом компиляции? javac Main.java без ошибок? – Aditya

+0

Ya компиляция без ошибок ее файл запуска, который не работает – FuManSchu

Смежные вопросы