gpt4 book ai didi

java - 读写变得一团糟

转载 作者:行者123 更新时间:2023-11-30 04:44:31 25 4
gpt4 key购买 nike

好吧,我想做的是使用按钮从一个 .text 文件读取到另一个文本文件。所以它是事件驱动的,但我必须反转输出。

我在 netbeans 中编码,因为我是新手,而且它很有帮助。

我已经为此工作了几天,试图在网络上找到清晰的信息,但我遇到了困难,现在我认为我的代码看起来比我开始时更糟糕,所以请指出我为什么这样做是错误的。

提前非常感谢您提供的任何建议。

这是我的按钮。

        private void ReadButtonActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int x ;
Vector<String> readOrder = new Vector<String>();
try {
Scanner i = new Scanner(new FileReader("Out.txt"));
while( i.hasNextInt()){
x = i.nextInt();
readOrder.add(new Integer(x));
}
try {
try (BufferedWriter out = new BufferedWriter(new FileWriter("Outfile.txt")));
out.append(" " + x);
out.close();
}
i.close();
}
catch (Exception e ){}
for(int i = readOrder.size()-1 ; i >= 0 ; i-- )
System.out.println( readOrder.elementAt( i ).intValue() );
}

最佳答案

为了改进您的代码,

  1. 将嵌套的 try catch 删除到两个单独的 try-catch block 中,一个用于输入,一个用于输出。
  2. 删除 try (BufferedWriter out = new BufferedWriter(new FileWriter("Outfile.txt")))一个外部 block 就足够了。
  3. 通过将 IO、业务和文件逻辑放在不同的类中并将它们分开,并且如果需要(仅)在接口(interface)后面。
  4. 我不知道您是否有使用 vector 的具体原因(它具有连续存储在内存中等优点),但 ArrayList 应该足以读取整数列表。
  5. Collections.reverse(arrayList); java.util.Collections 对于你的反转逻辑来说是一个有用的方法,如果它是一个作业/练习那么你的老师不会喜欢使用 lib 方法:)

关于java - 读写变得一团糟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11385065/

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