有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用扫描仪写入文本文件时出现java异常错误

我在自学java,我一直在试验扫描仪和编写文本文件。当我使用此代码时,它会抛出一条错误消息

    package testPackage;
import java.util.Scanner;
import java.util.Formatter;

public class WriteTest1 {

public static void main(String[] args) {
    try{
        String name; 
        String cont;
        Scanner nameSc = new Scanner(System.in); //Gets the name of the file that is being edited.
        Scanner contSc = new Scanner(System.in); //Gets the content that is being added to the file.
        name = nameSc.next(); //First scanner's input
        cont = contSc.next(); //Second scanner's input
        Formatter file = new Formatter("C:\\Users\\USERNAME\\Desktop\\MyDesktop\\" +name);
        file.format("%s",cont);
        file.close();
    }catch(Exception e){
        System.out.println("Error");
    }
}
}

我已尝试将异常类型更改为}catch(FileNotFoundException e){,但它继续抛出错误消息

接下来,我试着看看它是否是一个扫描器/字符串。我发现特定的错误是由Formatter file = new Formatter("C:\\Users\\USERNAME\\Desktop\\MyDesktop\\" +name);引起的。 如果我删除了最后一组\它可以正常工作,但它会将文件放在错误的位置,如果我将它们留在其中,则会显示错误,并且不会执行任何操作。(固定)

编辑我的新问题在file.format("%s",cont);行。当我输入一个句子时,它只打印第一个单词。我知道问题出在{}。然而,在阅读oracle上的信息时,我似乎无法使用.format来完成这项工作

编辑2我尝试用file.format("%s", "String Test");替换file.format("%s", cont);。文件中包含了这两个词。但是,这不允许用户设置要编写的内容

我用什么


共 (1) 个答案

  1. # 1 楼答案

    如果删除最后一组\将文件命名为Desktopname,因此您需要它们

    尝试记录错误,使用chatch中的e.printStackTrace()System.out.println(e.getMessage()打印错误