繁体   English   中英

需要帮助在Java中创建文件

[英]Need help creating a file in java

我需要创建一个文件,但未创建一个文件,也不知道哪里出错了

这是我创建文件名的地方

public class LetterGradeDisplayer {
    public static void main(String[] args) {
        LetterGradeConverter conv1 = new LetterGradeConverter("c://temp//grade1.txt", 6);
        System.out.println("Contents: ");
        System.out.println(conv1);

        LetterGradeConverter conv2 = new LetterGradeConverter("c://temp//grade2.txt", 6);
        System.out.println("Contents: ");
        System.out.println(conv2);

这是文件名的参数

public LetterGradeConverter(String fileName, int maxGrade) {
    File file = new File(fileName);
    int Grade[] = new int [maxGrade];
    actualLength = maxGrade;
    char LetterGradeList[] = new char [maxGrade];

    int count = 0;
    Scanner scan;
    try {
        scan = new Scanner(file);
        while(scan.hasNextInt()) {
            Grade[count] = scan.nextInt();
            count++;
        }
        scan.close();
    }
    catch(FileNotFoundException e) {
        e.printStackTrace();
    }

    GradeConverter();

这是我得到的错误文本:

java.io.FileNotFoundException: c:\temp\grade1.txt (The system cannot find the file specified)
    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(Unknown Source)
    at java.base/java.io.FileInputStream.<init>(Unknown Source)
    at java.base/java.util.Scanner.<init>(Unknown Source)
    at LetterGrade.LetterGradeConverter.<init>(LetterGradeConverter.java:21)
    at LetterGrade.LetterGradeDisplayer.main(LetterGradeDisplayer.java:7)
Exception in thread "main" java.lang.NullPointerException
    at LetterGrade.LetterGradeConverter.GradeConverter(LetterGradeConverter.java:36)
    at LetterGrade.LetterGradeConverter.<init>(LetterGradeConverter.java:32)
    at LetterGrade.LetterGradeDisplayer.main(LetterGradeDisplayer.java:7)

您提到未创建文件,但是在您的代码中我看不到应该创建文件的任何内容。

您是否期望新的File()为您在文件系统上创建文件? 因为不会,所以需要File#createNewFile

File file = new File("c://temp//testFile1.txt");
//Create the file
if (file.createNewFile()){
System.out.println("File is created!");
}else{
System.out.println("File already exists.");
}

//Write Content
FileWriter writer = new FileWriter(file);
writer.write("Test data");
writer.close();

“使用File.createNewFile()方法创建文件。此方法返回一个布尔值:如果成功创建了文件,则为true;如果文件已存在或由于某种原因而失败,则为false。” -https://howtodoinjava.com/core-java/io/how-to-create-a-new-file-in-java/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM