我想用java创建一个新的文件... new PrintStream ...一切正常,但我无法在我的项目中找到该文件

时间:2014-07-24 23:15:16

标签: java eclipse

所以我有一个类似于数字数学测试的简单代码(尽管只有一个问题)。我希望程序扫描我在输入窗口中键入的内容,并在新文本文件中打印结果我是对还是错。问题是我在eclipse中的项目中找不到文本文件,而是必须找到我的项目文件夹并在那里找到.txt文件。是否可以在eclipse中使我的项目中的.txt文件可见?谢谢! ...另外,你如何在java中的引号内引用标记?我的意思是“你回答”500“”。

package Default;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;

public class MathTest {
  public static void main(String args[])
                throws FileNotFoundException {
    String Canswer = "270";
    String X;

    PrintStream file = new  PrintStream(new File("Test results.txt"));
    Scanner scan = new Scanner(System.in);

    System.out.println("This is a test, please answer the question correctly.");
    System.out.println("What is 50*50/100-20+(800/20) ?");

    X = scan.nextLine();

    System.out.println("That concludes this test, your test results will be available"
        + " in ´Test results.");

    if (X.equals(Canswer)) {
      file.println("You answered " + X);
      file.println("That is correct, well done!");
    } else {
      file.println("You answered " + X + ".");
      file.println("The correct answer was " + Canswer);
      file.println("You have failed this test.");
    }
  }
}

4 个答案:

答案 0 :(得分:1)

我的第一直觉是无法查看您的文件只是您没有刷新您的项目。尝试右键单击您的项目>点击"刷新"并查看您的文本文件是否出现。 Eclipse不会实时更新您的文件系统,因此您必须刷新项目才能看到任何更新。

对于引号,您必须使用前面的正斜杠来转义引号,如下所示:

System.out.println("She said, \"I don't eat vegetables.\"");

那将输出:

她说,"我不吃蔬菜。"

答案 1 :(得分:0)

将文件放在eclipse中的项目基础目录中,然后仅使用名称访问该文件。

答案 2 :(得分:0)

您需要项目目录文件夹(src文件夹之外)中的指定文件,然后按名称(以及必要时的类型)访问它。

您需要指定路径的唯一时间是将文件存储在子目录中,例如" resources / images / player / player_forward.png",或者如果它不在.jar。

另外,为了在Java中的String中显示引号,请在引号之前放置一个反斜杠。

例如:

String quote = "\"Life is like a box of chocolates.\"";

它会打印出来:

"生活就像一盒巧克力。"

此外,它就像使用新行字符一样:

String text = "Hello.\nHow is your day?"

那将打印:

"你好。 你今天过得怎么样?"

如果要打印出实际的反斜杠,请在反斜杠之前执行反斜杠。

答案 3 :(得分:0)

根据您所使用的操作系统,由于空格,PrintStream file = new PrintStream(new File("Test results.txt"));可能会出现问题。那就是说,你为什么要使用PrintStream而不是BufferedWriter?