【问题标题】:Java input/output file coding issueJava输入/输出文件编码问题
【发布时间】:2013-12-15 21:29:24
【问题描述】:

您好,我正在尝试编写一个代码来提取用户输入文件,然后将该文件复制到我创建的所有大写字母的新文件中。我不知道为什么这不起作用。

import java.util.Scanner;
import java.io.*;
public class playAround {

public static void main(String[] args) throws IOException {
    PrintWriter outputFile = new PrintWriter("Uppercase.txt");

    Scanner check = new Scanner(System.in);
    System.out.println("Enter the filename you would like to be formatted into UPPERCASE");
    String filename = check.nextLine();

    File file = new File(filename);
    Scanner inputFile = new Scanner(file);

    while(inputFile.hasNext()){

    String write = inputFile.nextLine();
    outputFile.println(write.toUpperCase());

    }

    inputFile.close();
    outputFile.close();
    }

}

【问题讨论】:

  • 确保当您输入文件路径时,您输入的是整个文件路径 (C:\Users...),或者该文件位于相对于您的类路径的正确位置
  • 程序不工作的原因是什么?似乎它可以很好地写入文件,只是没有转换为大写。
  • 输入您希望格式化为大写的文件名 用户输入 - crazy.txt 线程“main”中的异常 java.io.FileNotFoundException: crazy.txt (No such file or directory) at java. io.FileInputStream.open(Native Method) at java.io.FileInputStream.(FileInputStream.java:146) at java.util.Scanner.(Scanner.java:656) at hw7.HW7.main( HW7.java:14) Java Result: 1 BUILD SUCCESSFUL (总时间: 6 seconds)

标签: java file input io output


【解决方案1】:

您的代码将原始文件写入Uppercase.txt,而不转换为大写。改变

String write = inputFile.nextLine(); 

String write = inputFile.nextLine().toUpperCase();

【讨论】: