所以我有一个包含一行 int 的文件:5551212
我正在尝试使用InputStream读取此文件,然后看看是否可以提取其中写入的数字
我执行了以下步骤:
import java.io.*;
class Shuffle {
public static void main(String args[]) throws IOException {
FileInputStream newfile = new FileInputStream("file path");
System.out.println(newfile.getChannel());
System.out.println(newfile.getFD());
System.out.println("Number of remaining bytes:"+newfile.available());
int data;
while ((data = newfile.read()) != -1) {
System.out.print(data + " ");
}
newfile.close();
}
}
但是,我得到的输出是:53, 53, 53, 49, 50, 49, 50
我不太确定这应该代表什么,或者只是如何在整数上使用 InputStream
最佳答案
使用 Java 11 或更高版本,可以使用一行代码读取文件 - Files.readString
这是读取文本文件的工作示例:
// File name: ReadFile.java
import java.nio.file.*;
public class ReadFile {
public static void main(String[] args) throws Exception {
String path = "my-file.txt";
// Read file content as a string
System.out.println(Files.readString(Paths.get(path)));
}
}
输出:
> javac ReadFile.java
> java ReadFile
5551212
关于java - 使用InputStream读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61312693/