Java-使用扫描仪在FileWriter中命名文件

Java-使用扫描仪在FileWriter中命名文件,java,file,java.util.scanner,filewriter,Java,File,Java.util.scanner,Filewriter,如何使用Scanner命名文件?出于某种原因,Java的FileWriter不会接受预定义字符串作为输入。下面的代码简化为我的意思: ` 我不知道为什么它不起作用。我在网上查过其他问题,但似乎都没有帮助 编辑:好的,我编辑了IOException,下面是我从堆栈跟踪中得到的结果 java.io.FileNotFoundException: entries\awdwad .txt (The filename, directory name, or volume label syntax is in

如何使用Scanner命名文件?出于某种原因,Java的FileWriter不会接受预定义字符串作为输入。下面的代码简化为我的意思: `

我不知道为什么它不起作用。我在网上查过其他问题,但似乎都没有帮助

编辑:好的,我编辑了IOException,下面是我从堆栈跟踪中得到的结果

java.io.FileNotFoundException: entries\awdwad
.txt (The filename, directory name, or volume label syntax is incorrect)
    at java.base/java.io.FileOutputStream.open0(Native Method)
    at java.base/java.io.FileOutputStream.open(FileOutputStream.java:292)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:156)
    at java.base/java.io.FileWriter.<init>(FileWriter.java:82)
    at main.JournalInput.main(JournalInput.java:26)
java.io.FileNotFoundException:entries\awdwad
.txt(文件名、目录名或卷标语法不正确)
位于java.base/java.io.FileOutputStream.open0(本机方法)
位于java.base/java.io.FileOutputStream.open(FileOutputStream.java:292)
位于java.base/java.io.FileOutputStream。(FileOutputStream.java:235)
位于java.base/java.io.FileOutputStream(FileOutputStream.java:156)
位于java.base/java.io.FileWriter(FileWriter.java:82)
main.JournalInput.main(JournalInput.java:26)
对不起,我还是不明白


编辑:我发现了问题。我忘记了一个定界符,把它去掉后,很明显就把它修好了。我也没有把它放在上面的代码里。很抱歉在这方面浪费了大家的时间。

扫描器将文本解析为标记,
x.txt
将很容易变成3个标记。使用
nextLine()
代替
nextLine()
。最好不要使用扫描仪


Windows下的FileNotFoundException也经常发生,当文件扩展名被隐藏(.txt、.docx,…)

主要取决于您对扫描仪的输入,例如,如果您将文件名与
/
一起传递,则它将无法工作。发布在三个不同输入上测试的相同代码
1.示例
2.example.txt
3. /example.txt

公共类示例{
公共静态void main(字符串[]arg){
字符串标题;
扫描仪输入=新扫描仪(System.in);
title=input.next();
试一试{
FileWriter fw=新的FileWriter(标题);
系统输出打印(“使用”+标题);
}捕获(IOEX异常){
系统输出打印(“错误:带“+ex”);
例如printStackTrace(系统输出);
}
input.close();
}
}

将在前两个输入上工作,但在最后一个输入时将抛出异常。

您应该包含更多信息,而不仅仅是“不接受”-这是一个错误(如果是,请向我们显示完整的错误消息和堆栈跟踪),它是否给出了错误的结果(如果是,预期结果与实际结果是什么),还是其他什么?而且,
Filewriter
拼写错误;它应该是
FileWriter
,大写
W
Java的FileWriter不会接受…
这是什么意思?不要默默地忽略
IOException
,它可能有你问题的答案,你说的“命名文件”是什么意思?这能回答你的问题吗?由于kaya3指出的拼写错误,代码无法编译。可以添加System.out.println(title);查看它是否是预期的文件名,并打印收到的异常的堆栈跟踪
java.io.FileNotFoundException: entries\awdwad
.txt (The filename, directory name, or volume label syntax is incorrect)
    at java.base/java.io.FileOutputStream.open0(Native Method)
    at java.base/java.io.FileOutputStream.open(FileOutputStream.java:292)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235)
    at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:156)
    at java.base/java.io.FileWriter.<init>(FileWriter.java:82)
    at main.JournalInput.main(JournalInput.java:26)