Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取两个文件,然后查找增长率_Java - Fatal编程技术网

Java 读取两个文件,然后查找增长率

Java 读取两个文件,然后查找增长率,java,Java,我需要帮助阅读两份包含2010年和2000年人口普查的文件。我必须阅读这两个文件,然后找出这两个文件之间的人口增长情况。我一直在为一个州设置空值。我知道inLine1和inLine2的值为null 文件看起来像这样 Alabama,4779736 Alaska,710231 Arizona,6392017 Arkansas,2915918 代码: import java.util.ArrayList; 导入java.util.Scanner; 导入java.io.*; 公共类pa10 { 公共

我需要帮助阅读两份包含2010年和2000年人口普查的文件。我必须阅读这两个文件,然后找出这两个文件之间的人口增长情况。我一直在为一个州设置空值。我知道inLine1和inLine2的值为null

文件看起来像这样

Alabama,4779736
Alaska,710231
Arizona,6392017
Arkansas,2915918
代码:
import java.util.ArrayList;
导入java.util.Scanner;
导入java.io.*;
公共类pa10
{
公共静态void main(字符串[]args,字符[]inLine2,字符[]inLine1)
抛出java.io.IOException
{
字符串fileName1=“Census2000growth.txt”;
字符串fileName2=“Census2010growth.txt”;
int i;
文件f=新文件(“Census2010growth.txt”);
如果(!f.exists()){
System.out.println(“文件不存在”);
}
扫描仪填充=新扫描仪(f);
inflee.useDelimiter(“[\t |,|\n |\r]+”;//创建一个分隔符
最终int MAX=51;
int[]myarray=新的int[MAX];
String[]statearray=新字符串[MAX];
int fillsize;
//设置输入流1
FileReader fr1=新建
文件阅读器(文件名1);
//缓冲输入流
缓冲读取器br1=
新的缓冲读取器(fr1);
//设置输入流2
FileReader fr2=新建
文件阅读器(文件名2);
//缓冲输入流
缓冲读取器br2=
新的缓冲读取器(fr2);
//读取并显示1
字符串缓冲区1=“”;
ArrayList firstFile1=新的ArrayList();
而((buffer1=br1.readLine())!=null){
firstFile1.add(buffer1);
System.out.println(inLine1);//显示行
}
br1.close();
//现在请阅读第二个文件或使用此单独的方法
//读取和显示2
字符串缓冲区2=“”;
ArrayList firstFile2=新的ArrayList();
而((buffer2=br2.readLine())!=null){
firstFile2.add(buffer2);
System.out.println(inLine2);//显示行
}
br2.close();
//读取数组或列表中的所有行
//然后你可以计算它们。
}
}

阅读
BufferedReader
文档。您的文件未使用预期的行分隔符类型进行格式化。我建议使用
扫描仪
并将行分隔符设置为适当的模式,或者使用
字符串。拆分

您有两个不同的变量,
buffer1
inline1
。由于从未设置inline1的
,因此它将始终为
null

问题是我需要两个不同的数组。我对这个程序还不熟悉,所以我有一段艰难的时光。@goingbubbon实际上你刚刚又编辑了你的文章。现在显示的格式应该与BufferedReader一起使用。请确保在您第一次发布时提供所有相关信息…对不起,我是这个网站的新手
    import java.util.ArrayList;
import java.util.Scanner;
import java.io.*;
public class pa10
{
  public static void main(String[] args, char[] inLine2, char[] inLine1)
    throws java.io.IOException
  {
    String fileName1 = "Census2000growth.txt";
    String fileName2 = "Census2010growth.txt";
    int i;

    File f = new File("Census2010growth.txt");
    if(!f.exists()) {
        System.out.println( "file does not exist ");
    }
    Scanner infile = new Scanner(f);
    infile.useDelimiter ("[\t|,|\n|\r]+"); //create a delimiter 
    final int MAX = 51;
    int [] myarray = new int [MAX];
    String[] statearray = new String[MAX];
    int fillsize;

      // set up input stream1
    FileReader fr1 = new
        FileReader(fileName1);
      // buffer the input stream
    BufferedReader br1 =
        new BufferedReader(fr1);

      // set up input stream2
    FileReader fr2 = new
        FileReader(fileName2);
      // buffer the input stream
    BufferedReader br2 =
        new BufferedReader(fr2);

      // read and display1
    String buffer1 = "";

    ArrayList<String> firstFile1 = new ArrayList<String>();
    while ((buffer1 = br1.readLine()) != null) {
        firstFile1.add(buffer1);
      System.out.println(inLine1);  // display the line
  }
  br1.close();



    //Now read the second file or make for this separate method
      // read and display2
    String buffer2 = "";

    ArrayList<String> firstFile2 = new ArrayList<String>();
    while ((buffer2 = br2.readLine()) != null) {
        firstFile2.add(buffer2);
      System.out.println(inLine2);  // display the line
  }
  br2.close();

    //Read all the lines in array or list
    //After that you can calculate them.
 }

}