用Java读写文件

时间:2018-09-28 14:50:28

标签: java io

所以我目前正在研究一个有趣的挑战计划。面临的挑战是从工作目录中的文件中读取数组,反转数组并将其写回到输出文件。有人可以指出我的错误吗?我一直在寻找相关的先前询问的问题,但找不到任何问题。我已经到了编译和运行代码的地步,但是我根本看不到任何输出。我知道代码还没有反转数组。我只想先查看内容,但对我来说不起作用。

import java.io.PrintWriter;
import java.util.Scanner; 
import java.io.FileNotFoundException; 
import java.io.File;

public class ReverseArray {
public static void main(String[] args) {

    File in = new File("inputFile.txt");
    File out = new File("outputFile.txt"); 
    try{    
        Scanner s = new Scanner(in);
        PrintWriter writer = new PrintWriter(out); 

        int[] array = new int[s.nextInt()];
        for (int i = 0; i <array.length; i++){
            array[i] = s.nextInt();
        }

        writer.print(array);
        writer.flush(); 
        writer.close();
       }catch(Exception e) { 

      } 
  }
}

2 个答案:

答案 0 :(得分:1)

反转输入,而不是整个数组写一个数组地写一个数组。

import java.io.PrintWriter;
import java.util.Scanner; 
import java.io.FileNotFoundException; 
import java.io.File;

public class ReverseArray {
public static void main(String[] args) {

    File in = new File("inputFile.txt");
    File out = new File("outputFile.txt"); 

    try{    
        Scanner s = new Scanner(in);
        PrintWriter writer = new PrintWriter(out); 

        int[] array = new int[s.nextInt()];
        for (int i = 0; i <array.length; i++){
                array[i] = s.nextInt();
                writer.print(array[i]);
        }
        writer.flush(); 
        writer.close();

       }
       catch(Exception e){

       }   
    }
}

答案 1 :(得分:1)

您的首要错误是在程序中包含该部分:

catch(Exception e){

}

这可以用英文写成,“如果发生某种错误并且程序无法继续正常处理,请不要告诉我,也不要给我通常遇到这种情况时要提供的信息错误。请不要向我提供任何可以帮助我分析正在发生的事情的信息。“

您可能永远都不会在程序中拥有这种东西。

如果您确实必须进行尝试/捕获,那么至少要这样做:

catch(Exception e){
  e.printStackTrace();
}

如果发生错误,Java将为您提供有关发生错误的位置及其性质的有用信息。

但是更好的是,完全摆脱整个 try 机制。

编译器会抱怨可能会发生IOException,您将这样解决:

public static void main(String[] args) throws IOException {

进行了这些更正之后,您将获得有关程序中发生了什么问题的信息,我们将能够进一步分析您的其他问题。