Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java程序中打开文件?_Java_File - Fatal编程技术网

如何在java程序中打开文件?

如何在java程序中打开文件?,java,file,Java,File,我的教授想让我们编写一个程序,打开一个文件并读取行,他给出了这个例子 import java.io.*; import java.util.Scanner; import java.io.IOException; public class LineNumbers { public static void main(String[] args) throws IOException { // Create a Scanner object for keyboard inpu

我的教授想让我们编写一个程序,打开一个文件并读取行,他给出了这个例子

import java.io.*;
import java.util.Scanner;
import java.io.IOException;

public class LineNumbers {

public static void main(String[] args) throws IOException

  {
       // Create a Scanner object for keyboard input.
      Scanner keyboard = new Scanner(System.in);

      // Get the filename.
      System.out.print("Enter the filename: ");
      String filename = keyboard.nextLine();

      // Open the file.
      File file = new File(filename);
      Scanner inputFile = new Scanner(file);

      // Read lines from the file until no more are left.
      while (inputFile.hasNext())
      {
         // Read the next name.
         String familyName = inputFile.nextLine();

         // Display the last name read.
         System.out.println(familyName);

            }

      // Close the file.
      inputFile.close();
      keyboard.close();
}

}

问题是,一旦我运行程序,它告诉我输入文件名,我到底要键入什么?如果我在桌面上创建一个名为“test”的随机文本文件,并将“test”输入到程序中,它将无法打开它。我应该输入一些特殊字符来打开它并让它阅读吗?多谢各位

您可以输入包含整个路径的文件名:

C:\\Path\\To\\The\\File.txt

/tmp/path/to/file.txt

或者只键入文件名,因为它位于与可执行java类相同的路径下


如果路径包含空格,您可能需要将文件名放在引号或双引号之间。

您应该键入文件的路径……如果您使用的是windows,您应该键入类似的内容

c:\\<path_to_desktop>\\test.txt (if it is a txt file)
/<path_to_desktop>/test.txt
c:\\\\test.txt(如果是txt文件)
在linux上,您应该键入以下内容

c:\\<path_to_desktop>\\test.txt (if it is a txt file)
/<path_to_desktop>/test.txt
//test.txt

尝试创建一个名为“test.txt”的示例文件 在其中输入一些值,例如“Hello World” 关闭文件

注意->确保文件创建在java程序所在的同一目录中

现在,运行java程序,当程序提示输入文件名时,输入text.txt(文件的完整名称)


这将在控制台上运行并打印文件的内容,这是该程序正在执行的操作。

输入文件的完整路径


如果您使用的是windows,您可以通过按住Shift键,然后右键单击文件,然后选择复制为路径来实现此目的。

在Java中,您也可以在windows中使用“/”作为目录分隔符。因为在任何平台上使用“/”作为路径分隔符的功能都依赖于JVM,并且可能(出于任何原因)在未来的任何版本中被删除/替换/修改…在Windows上使用了这么多年,从未听说过Shift+右键单击-复制为路径+1美元。