如何在从文件读取时将行转换为列?

时间:2011-12-25 20:42:30

标签: java

如何阅读和转换

下的文件流

0101011110
0000011010
0000001011
1000011000个

写如下;

0001
1000
0000
1000
0000
1101
1111
1000
1110
0010

ArrayList不能满足我的要求,经过几次试验后就崩溃了 我的文件中有100k行和40列。在逐行读取字符串后,我不知道该怎么做新手我试过这个:

 ArrayList<String> list=new ArrayList<String>();
        String sequence;
        while((sequence= instream.readLine())!= null) {
            list.add(sequence);  
        }
        Iterator<String> it=list.iterator();
        for(int i=0; i<40; i++){
        while(it.hasNext()){
            String temp=  it.next();
            outstream.write(temp.charAt(i)+" ");    
        }
        outstream.newLine();
      }

这是有效的工作!

List<String> list = new ArrayList<String>();
        String sequence;

        while ((sequence = instream.readLine()) != null)
            list.add(sequence);

        for (int i = 0; i < 40; i++) {
            for (String item : list) {
                outstream.write(item.charAt(i) + " ");
            }
            outstream.newLine();
        }

1 个答案:

答案 0 :(得分:3)

我会按以下步骤执行此操作:

  1. 逐行将文件读入ArrayList&lt; String&gt;。验证所有行 你去的时间长度相同(或确定最长的长度)。
  2. 对于该行上的每个位置,遍历行列表,在当前位置打印该字符。完成列表后,打印换行符。