【发布时间】:2015-08-15 22:47:14
【问题描述】:
我是 java 新手并使用 netbeans v8。我正在尝试从文件中读取字符串并将修改保存在新文件中,但是当我运行代码时,它没有显示任何继续运行的内容。 代码是
package filereadingandwriting;
import java.io.File;
import java.io.PrintWriter;
import java.util.Scanner;
public class FileReadingAndWriting {
public static void readAndWrite() throws Exception
{
File inputFile = new File("names.txt");
Scanner input = new Scanner(System.in);
File outFile = new File("output.txt");
PrintWriter writer = new PrintWriter(outFile);
for(int i = 0;input.hasNextLine(); i++)
{
String inputLines = input.nextLine();
writer.println("Sr#" + i + " " + inputLines);
}
input.close();
} // readAndWrite function ends.
public static void main(String[] args) throws Exception {
// TODO code application logic here
readAndWrite();
} // main function ends.
} //FileReadingAnd Writing class ends.
【问题讨论】:
-
您似乎不是从 inputFile 读取,而是从 System.in 读取...
-
请注意 java.io.File 被视为遗留 API。考虑改用 NIO.2 File API。这是教程:docs.oracle.com/javase/tutorial/essential/io/fileio.html
-
还可以考虑使用 try-with-resources 来关闭您的输入和输出文件。
-
@Puce 被谁认为是遗留 API?不是 Javadoc。
-
@EJP 它被 Oracle 的教程视为遗留 API:docs.oracle.com/javase/tutorial/essential/io/legacy.html 事实上,“遗留文件 I/O 代码”部分似乎是唯一仍然提到 java.io.File 的地方。因此,像 Vector、Hashtable、java.util.Date、java.util.Calendar(仅举几例),java.io.File 也已被新的 API 取代。