use*_*577 47 java file-io java.util.scanner
我正在研究一个Java程序,它逐行读取一个文本文件,每个都有一个数字,每个数字都将它抛入一个数组,然后尝试使用插入排序对数组进行排序.我需要帮助让程序读取文本文件.
我收到以下错误消息:
Run Code Online (Sandbox Code Playgroud)java.io.FileNotFoundException: 10_Random (The system cannot find the file specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at java.util.Scanner.<init>(Unknown Source) at insertionSort.main(insertionSort.java:14)
我在我的"src""bin"和主项目文件夹中有.txt文件的副本,但它仍然无法找到该文件.我顺便使用Eclipse.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class insertionSort {
public static void main(String[] args) {
File file = new File("10_Random");
try {
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
int i = sc.nextInt();
System.out.println(i);
}
sc.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
Sur*_*nga 56
你必须把文件扩展名放在这里
File file = new File("10_Random.txt");
Run Code Online (Sandbox Code Playgroud)
Dha*_*han 23
使用以下代码读取文件
import java.io.File;
import java.util.Scanner;
public class ReadFile {
public static void main(String[] args) {
try {
System.out.print("Enter the file name with extension : ");
Scanner input = new Scanner(System.in);
File file = new File(input.nextLine());
input = new Scanner(file);
while (input.hasNextLine()) {
String line = input.nextLine();
System.out.println(line);
}
input.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
- >此应用程序逐行打印文件内容
确保文件名正确(正确的大写,匹配扩展等 - 如已建议的那样).
使用该Class.getResource方法在类路径中定位文件 - 不要依赖当前目录:
URL url = insertionSort.class.getResource("10_Random");
File file = new File(url.toURI());
Run Code Online (Sandbox Code Playgroud)通过命令行参数指定绝对文件路径:
File file = new File(args[0]);
Run Code Online (Sandbox Code Playgroud)在Eclipse中:
这里有一些工作和测试方法;
using Scanner
package io;
import java.io.File;
import java.util.Scanner;
public class ReadFromFileUsingScanner {
public static void main(String[] args) throws Exception {
File file=new File("C:\\Users\\pankaj\\Desktop\\test.java");
Scanner sc=new Scanner(file);
while(sc.hasNextLine()){
System.out.println(sc.nextLine());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是使用Scanner类读取整个文件(无循环)的另一种方法
package io;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadingEntireFileWithoutLoop {
public static void main(String[] args) throws FileNotFoundException {
File file=new File("C:\\Users\\pankaj\\Desktop\\test.java");
Scanner sc=new Scanner(file);
sc.useDelimiter("\\Z");
System.out.println(sc.next());
}
}
Run Code Online (Sandbox Code Playgroud)
运用 BufferedReader
package io;
import java.io.*;
public class ReadFromFile2 {
public static void main(String[] args)throws Exception {
File file=new File("C:\\Users\\pankaj\\Desktop\\test.java");
BufferedReader br=new BufferedReader(new FileReader(file));
String st;
while((st=br.readLine())!=null){
System.out.println(st);
}
}
}
Run Code Online (Sandbox Code Playgroud)
using FileReader
package io;
import java.io.*;
public class ReadingFromFile {
public static void main(String[] args) throws Exception {
FileReader fr=new FileReader("C:\\Users\\pankaj\\Desktop\\test.java");
int i;
while((i=fr.read())!=-1){
System.out.print((char) i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
592803 次 |
| 最近记录: |