繁体   English   中英

正在将文件读入2D数组?

[英]Reading file into 2D array?

所以我试图从字节读取文本文件,然后读取它的字符。 但我正在尝试将其插入2D数组,即ankoshh。

任何帮助表示赞赏:)

public class SteamOutputToFile 
{


public static void main(String [] args)
    {
        int row;
        int col;
        String [][] ankoshh = new String[row][col];
        try{
        InputStream inputstream = new FileInputStream("E:\\testing.txt");

    int data = inputstream.read();
    while(data != -1) {
      //do something with data...
      System.out.print((char)data);

      data = inputstream.read();
    }
    }
    catch (IOException ioexception){
        System.out.println("File input error occured!");
        ioexception.printStackTrace();
    }
    for (int i=0; i<ankoshh.length;i++)
    {
        for (int j=0; j<ankoshh[i].length;j++)
        {
            ankoshh[row][col] = (char)data[i];
        }

Apache common-io可以极大地帮助您做到这一点,无需使用FileInputStream。

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.commons.io.FileUtils;

public class Test
{
   public static void main(String [] args) throws IOException
   {
      File file = new File (args[0]);
      List<String> lines = FileUtils.readLines (file);

      String[][]ankoshh = new String [lines.size ()][];

      int line_index=0;
      for (String line:lines)
      {
         String[] caracters = line.split("(?!^)");
         ankoshh[line_index++] = caracters;
      }
   }
}

如果文件很大,还可以使用行迭代器:

LineIterator it=FileUtils.lineIterator (file);
while (it.hasNext ())
...

希望这可以帮助。

干杯,

弗雷德

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM