我正在编写简单的Java代码来获取具有16条记录的文件,每条记录将以逗号分隔6个字段。
我正在编写代码将其重定向到我正在创建的新日志文件,但日志文件生成为空。以下是我的代码。
try
{
String s = "";
FileReader f = new FileReader ("C:\\file.txt");
File log_file = new File ("C:\\file_log.txt");
BufferedReader sr = new BufferedReader(f);
while((s = sr.readLine()) != null)
{
PrintStream p = new PrintStream(log_file);
PrintStream console = System.out;
System.setOut(p);
}
}
catch(FileNotFoundException e)
{
System.out.println("check file is present in location");
}
答案 0 :(得分:0)
在你的代码上没有任何东西写在log_file上。
试试这个:
System.out.println("----------------");
try {
String s = "";
FileReader f = new FileReader("input.txt");
File Log_file = new File("log.txt");
BufferedReader sr = new BufferedReader(f);
PrintStream p = new PrintStream(Log_file);
while ((s = sr.readLine()) != null) {
// write to log
p.println(s);
// write to console
System.out.println(s);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("----------------");
答案 1 :(得分:0)
这有效:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.PrintStream;
public class FileLog {
public static void main(String[] args) throws Exception {
System.setOut(new PrintStream(new File("output.txt")));
BufferedReader br = new BufferedReader(new FileReader("input.txt"));
String s;
while ((s = br.readLine()) != null) {
System.out.println(s);
}
}
}
在项目根目录中放入一个名为“input.txt”的文件,其中包含一些文本行,然后运行代码。