gpt4 book ai didi

java - 将文本文件输入到程序中?

转载 作者:行者123 更新时间:2023-12-01 18:18:05 26 4
gpt4 key购买 nike

我今天有一个关于输入和输出的讲座,但它似乎并没有真正解释文本文件在哪里等..

这是我的代码:

  package inputoutput;

import java.util.*;
import java.io.*;

public class input {

public static void main(String[] args) throws FileNotFoundException {

String name;
int lineCount = 0;

File input = new File("lab1task3.txt");
Scanner in = new Scanner(input);

while(in.hasNextLine()){
lineCount++;

}
System.out.println(lineCount);


}

}

我收到文件未找到异常,但文本文件与程序位于同一文件夹中?

最佳答案

请首先了解相对路径和绝对路径之间的区别。绝对路径是:C:\Users\Ceri\workspace1\inputoutput\src\inputoutput\lab1task3.txt

相对路径就是给出的“lab1task3.txt”。这意味着可以相对于工作目录找到 lab1task3.txt(例如,如果工作目录是“C:\Users\Ceri\workspace1\inputoutput\src\inputoutput\”,那么它会找到它)。

但是,您也可以使用绝对路径,但请记住,这样做意味着只有文件位于运行它的计算机上的同一位置时它才有效。例如,如果您在代码中使用“C:\Users\Ceri\workspace1\inputoutput\src\inputoutput\”提交,那么只有当其他人在其计算机上具有相同的文件和位置时,它才会起作用。 请注意,如果这是一项作业,则模块召集者/标记者可能没有名为 C:\Users\Ceri... 的文件夹。。如果您使用相对路径提交工作,则使用您代码的任何人只需确保文件相对地位于同一位置(例如同一文件夹中)。

如果这并不重要,您需要在路径中使用另一个反斜杠来转义反斜杠字符。这应该有效:

package inputoutput;

import java.util.*;
import java.io.*;

public class input {

public static void main(String[] args) throws FileNotFoundException {

String name;
int lineCount = 0;

File input = new File("C:\\Users\\Ceri\\workspace1\\inputoutput\\src\\inputoutput\\lab1task3.txt");
Scanner in = new Scanner(input);

while(in.hasNextLine()){
lineCount++;

}
System.out.println(lineCount);


}
}

我注意到你正在使用 Eclipse。您的“工作目录”是您的工作空间。因此您想将文件移动到:

C:\Users\Ceri\workspace1\inputoutput\lab1task3.txt

这应该适合您使用您在开篇文章中使用的“相对”路径。

关于java - 将文本文件输入到程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28438347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com