好的我要做的是使用按钮从一个.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() );
}
答案 0 :(得分:1)
改善您的代码,
try (BufferedWriter out = new BufferedWriter(new FileWriter("Outfile.txt")))
一个外部区块就足够了。Collections.reverse(arrayList);
java.util.Collections对于你的逆转逻辑是一个很有用的方法,如果它是一个赋值/练习,那么你的老师就不会喜欢使用lib方法:)答案 1 :(得分:1)
BufferedReader br = new BufferedReader(new FileReader("Filein.txt"));
StringBuilder build = new StringBuilder();
while(br.ready()){
build.append(br.readline());
}
build.reverse(); //Reverses the order of all the characters in the builder
BufferedWriter bw = new BufferedWriter(new FileWriter("Fileout.txt"));
try{
bw.write(build.toString());
bw.flush();
bw.close();
}catch(Exception e){}