Java 无法创建txt文件

Java 无法创建txt文件,java,file-io,Java,File Io,编写一个名为namesinitials的方法,该方法以一个字符串作为参数,用于修饰某人的全名并返回一个由姓名首字母组成的字符串。用法示例 import java.util.Scanner; import java.io.FileInputStream; import java.io.PrintWriter; import java.io.FileOutputStream; import java.io.FileNotFoundException; public class Exercise4 {

编写一个名为namesinitials的方法,该方法以一个字符串作为参数,用于修饰某人的全名并返回一个由姓名首字母组成的字符串。用法示例

import java.util.Scanner;
import java.io.FileInputStream;
import java.io.PrintWriter;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
public class Exercise4
{
String name = null;
public String nameInitials(String sentence)
{
PrintWriter outputStream = null;
try
{
    outputStream = new PrintWriter(new FileOutputStream("abc.txt."));
    outputStream.println(sentence);
}
catch (FileNotFoundException e)
{
    System.out.println("File not found.");
    System.exit(0);
}
outputStream.close();
Scanner inputStream = null;
try
{
    inputStream = new Scanner(new FileInputStream("abc.txt."));
}
catch (FileNotFoundException e)
{
    System.out.println("File not found.");
    System.exit(0);
}
do
{
    String word = inputStream.next();
    char initial = word.charAt(0);
    name = initial+"."+name;
} while (inputStream.hasNext());
return name;
}
public void main(String[]args)
{
String initials = nameInitials("Bertrand Arthur William Russell");
System.out.println(initials);
}
}

我尝试将全名存储到txt文件并读取该文件。但是我不知道为什么我不能在文件夹中创建abc.txt文件。

这可以修复您的错误,我测试了它

String initials = nameInitials("Bertrand Arthur William Russell");
System.out.println(initials); //should print B.A.W.R.

文件的路径不应以.txt结尾。just.txt

您的代码非常完美,它正在项目级别创建文件“
abc.txt.
”,如果您想创建名为
abc.txt
的文件,则必须更改

newfileoutputstream(“abc.txt”)
to
newfileoutputstream(“abc.txt”)

newfileinputstream(“abc.txt”)
to
newfileinputstream(“abc.txt”)

如果要在特定目录中创建文件,请使用要创建的文件名提供该目录的完整路径

对于ubuntu系统

 import java.util.Scanner;
 import java.io.FileInputStream;
 import java.io.PrintWriter;
 import java.io.FileOutputStream;
 import java.io.FileNotFoundException;
public class Exercise4
{
    static String name = null;

public static String nameInitials(String sentence) {
    PrintWriter outputStream = null;
    try {
        outputStream = new PrintWriter(new FileOutputStream("C:\\temp\\abc.txt"));
        outputStream.println(sentence);
    } catch (FileNotFoundException e) {
        System.out.println("File not found.");
        System.exit(0);
    }
    outputStream.close();
    Scanner inputStream = null;
    try {
        inputStream = new Scanner(new FileInputStream("C:\\temp\\abc.txt"));
    } catch (FileNotFoundException e) {
        System.out.println("File not found.");
        System.exit(0);
    }
    do {
        String word = inputStream.next();
        char initial = word.charAt(0);
        name = initial + "." + name;
    } while (inputStream.hasNext());
    return name;
}

public static void main(String[] args) {
    String initials = nameInitials("Bertrand Arthur William Russell");
    System.out.println(initials);
}
 }
&

和windows系统

new FileInputStream("/home/java/abc.txt")
&


你为什么把文件名命名为abc.txt。???尝试使用abc.txt始终添加您遇到的错误。不要忘记,如果您愿意,您可以接受我的答案。很好,luckI编译了它,我发现输出是R.W.A.B.null。如何删除空字?更改:静态字符串名称=null;使用静态字符串name=“”;别忘了,如果你愿意,你可以接受我的回答。祝你好运
new FileInputStream("/home/java/abc.txt")
new FileOutputStream("C:/java/abc.txt")
new FileInputStream("C:/java/abc.txt")