【问题标题】:String output to text file字符串输出到文本文件
【发布时间】:2013-09-13 16:26:29
【问题描述】:

编写一个 Java 程序,该程序将确定一个单词是否是回文。让它工作得很好,所以现在我必须添加一个打印到输出文件的细节。

问题是,经过一个小时的查找,我似乎找不到我要找的东西。我正在寻找一种输出方法,它将打印以下内容:

testString" is/is not a palindrome."

其中 testString 是原始字符串输入,因此如果字符串是“Race car”,它将打印:

Race car is a palindrome.

我尝试将下面的代码用作打印代码,但是当我在它后面加上 (testString " is a palindrome.") 时出现错误。谁能提供解决方案?

代码:

PrintWriter out = new PrintWriter("filename.txt"); // Initializer
out.println(text); //Printer to output file

【问题讨论】:

  • 您能否发布错误的确切代码和堆栈跟踪

标签: java string file-io io output


【解决方案1】:

不要忘记+ 来连接两个字符串。此外,您可能应该使用文件而不是仅使用文件名来调用 PrintWriter,因此如果您收到 File Not Found Exception 或其他什么,它会更清楚。

File file = new File("C:/Users/Me/Desktop/directory/file.txt");
PrintWriter printWriter = new PrintWriter(file);
printWriter.println(testString + " is a palindrome.");

【讨论】:

  • 任何我必须做的进口?还是我只需要 java.io.*?
  • 你只需要: import java.io.File;导入 java.io.PrintWriter;另外,不要忘记 + 连接 2 个字符串..
【解决方案2】:

让回文函数返回一个布尔值,然后用 if 语句检查它。

String s = "Test String";

if(isPalindrome(s))
  out.println(s + " is a palindrome.");
else
  out.println(s + " is not a palindrome.");

out.close();

【讨论】:

    【解决方案3】:

    你应该在这两行之后使用out.close();

        PrintWriter out = new PrintWriter("D:\\test.txt"); // Initializer
        out.println(str+" is palindrome");
        out.close();
    

    这工作正常。

    或者你也可以使用以下方式

        BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\test.txt")); 
        bw.append(str+" is palindrome");
        bw.newLine();
        bw.close();
    

    【讨论】:

    • 如果我关闭它并重新打开它(它是循环的一部分),它不会覆盖所有内容吗?
    • @TreyBrumley 然后将其关闭在循环之外。
    • 完成。现在我的初始化程序出现“异常类型 FileNotFoundException”。我该如何解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2011-06-17
    • 2017-09-29
    相关资源
    最近更新 更多