Java 将文件读入二维数组?

Java 将文件读入二维数组?,java,arrays,Java,Arrays,所以我试着从一个文本文件中读取字节,然后读取它的字符。 但我想把它插入到一个2D数组中,这就是Ankosh 感谢您的帮助:) 公共类蒸汽输出文件 { 公共静态void main(字符串[]args) { int行; int col; 字符串[][]Ankosh=新字符串[行][列]; 试一试{ InputStream InputStream=新文件InputStream(“E:\\testing.txt”); int data=inputstream.read(); while(数据!=-1){

所以我试着从一个文本文件中读取字节,然后读取它的字符。 但我想把它插入到一个2D数组中,这就是Ankosh

感谢您的帮助:)

公共类蒸汽输出文件
{
公共静态void main(字符串[]args)
{
int行;
int col;
字符串[][]Ankosh=新字符串[行][列];
试一试{
InputStream InputStream=新文件InputStream(“E:\\testing.txt”);
int data=inputstream.read();
while(数据!=-1){
//用数据做点什么。。。
系统输出打印((字符)数据);
data=inputstream.read();
}
}
捕获(IOException IOException){
System.out.println(“发生文件输入错误!”);
ioexception.printStackTrace();
}

对于(inti=0;iapachecommonio),不需要使用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;
      }
   }
}
希望这有帮助

干杯


Fred

数据在您的代码中用作数组和int。它是什么?您可以使用InputStream.read将文件读取到字节数组。您知道Ankosh在您的示例中实际上是三维的吗?您也在使用
Ankosh
就像它是
char[][/code>一样,但它被声明为
String[]
。此外,似乎完全不清楚您想要实现什么。文件没有2D数组的自然表示形式。应该将哪些数据放在哪里?@5gon12eder,他已经预先分配了数组,因此可能知道维度大小。数据我将其用作数组,请解释InputStream.read部分。如果我的程序有多个e,请原谅错误,用很少的时间完成一个项目:)我正在使用文件inputSteam,因为这是我唯一使用的东西,我正在尝试理解它,但我会研究你刚才提到的方法,谢谢!
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 ())
...