如何使用指定的文件路径而不是资源文件夹中的文件作为输入或输出流?这是我的类,我想从特定的文件路径读取,而不是将txt文件放在IntelliJ的资源文件夹中.输出流相同.任何提供的帮助将不胜感激.
输入流
import java.io.*;
import java.util.*;
public class Example02 {
public static void main(String[] args) throws FileNotFoundException {
// STEP 1: obtain an input stream to the data
// obtain a reference to resource compiled into the project
InputStream is = Example02.class.getResourceAsStream("/file.txt");
// convert to useful form
Scanner in = new Scanner(is);
// STEP 2: do something with the data stream
// read contents
while (in.hasNext()) {
String line = in.nextLine();
System.out.println(line);
}
// STEP 3: be polite, close the stream when done!
// close file
in.close();
}
}
Run Code Online (Sandbox Code Playgroud)
输出流
import java.io.*;
public class Example03
{
public static void main(String []args) throws FileNotFoundException
{
// create/attach to file to write too
// using the relative filename will cause it to create the file in
// the PROJECT root
File outFile = new File("info.txt");
// convert to a more useful writer
PrintWriter out = new PrintWriter(outFile);
//write data to file
for(int i=1; i<=10; i++)
out.println("" + i + " x 5 = " + i*5);
//close file - required!
out.close();
}
}
Run Code Online (Sandbox Code Playgroud)
获取InputStream的首选方法是java.nio.file.Files.newInputStream(Path)
try(final InputStream is = Files.newInputStream(Paths.get("/path/to/file")) {
//Do something with is
}
Run Code Online (Sandbox Code Playgroud)
对于OutputStream Files.newOutputStream()也是如此
try(final OutputStream os = Files.newOutputStream(Paths.get("/path/to/file")) {
//Do something with os
}
Run Code Online (Sandbox Code Playgroud)
通常,这是Oracle的官方教程,与IO一起工作.
| 归档时间: |
|
| 查看次数: |
5255 次 |
| 最近记录: |