gpt4 book ai didi

java - 在 Java 中使用 PrintWriter 创建文件并写入该文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:42 25 4
gpt4 key购买 nike

我正在尝试编写一个程序来读取一个文件(这是一个Java源文件),并从该文件中创建一个包含某些指定值的Arraylist。并将该 Arraylist 输出到另一个结果文件中。

我正在使用 PrintWriter 来制作新的结果文件。这是我的程序的摘要版本:

 ArrayList<String> exampleArrayList = new ArrayList<String>();
File actualInputFile = new File("C:/Desktop/example.java");

PrintWriter resultingSpreadsheet= new PrintWriter("C:/Desktop/SpreadsheetValues.txt", "UTF-8");

FileReader fr = new FileReader(actualInputFile);
BufferedReader br = new BufferedReader(fr);
String line=null;

while ((line = br.readLine()) != null) {
// code that makes ArrayList
}

for (int i = 0; i < exampleArrayList.size(); i++) {
resultingSpreadsheet.println(exampleArrayList.get(i));
}
resultingSpreadsheet.close();

问题是,当我运行此命令时,没有任何内容打印到结果电子表格中。完全是空的。

但是,当我替换时,该程序运行完美(这意味着它将所有内容正确打印到生成的电子表格文件中):

 File actualInputFile = new File("C:/Desktop/example.java"); 

这是我想要作为输入文件的文件,大小为 481 KB,与:

 File smallerInputFile = new File("C:/Desktop/smallerExample.txt"); 

这实际上只是 .java 源文件的较小 .txt 示例版本,大小为 1.08 KB。

我尝试了一些方法,包括刷新 PrintWriter、将其包裹在 FileWriter 周围、将 .java 文件中的所有代码复制粘贴到文本文件中(以防扩展问题),但这些似乎不起作用。我开始认为这一定是因为 PrintWriter 生成的文件的大小,但这很可能不是问题所在。也许我需要将所有内容放入流中(就像这里所说的: http://docs.oracle.com/javase/6/docs/api/java/io/PrintWriter.html )?如果是这样,我该怎么做?

当较小的输入文件一切正常时,为什么读取较大的实际输入文件并正确输出其数据会出现这样的问题?有人能帮忙吗?

最佳答案

在写入 Excel 工作表时检查异常,因为我真的不认为这是大小问题。下面是成功执行的示例代码,文件大小约为 1 MB。

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
BufferedReader br = null;

try {

String sCurrentLine;

br = new BufferedReader(new FileReader("D:\\AdminController.java"));

while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}

} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}

}

}

关于java - 在 Java 中使用 PrintWriter 创建文件并写入该文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com