디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

엑셀 csv 입력하여 2차원배열 저장후 println 출력

134314(117.16) 2014.03.28 23:58:20
조회 1150 추천 0 댓글 0

      import java.io.*;

import java.util.*;

 

      public class test {

 

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

               // 파일 객체 생성

              FileReader fr = new FileReader("d:\" + File.separator + "test.csv");

              // 파일 객체를 스캔하기 위한 객체

              Scanner scan = new Scanner(fr);

              // rowsMax는 배열에 지정된 행수 

              // colsMax는 배열에 지정된 열수 

              // 행의 수를 카운트

              // 열의 수를 카운트 

              int rowsMax = 0, colsMax = 0, rowsCnt = 0, colsCnt = 0;

               

              String buffer = ""; // 파일에서 읽어드린 모든 값을 buffer 에 임시로 저장함.

       

              while(scan.hasNextLine()){

         

                   String temp = scan.nextLine();

                   // 각각 행의 열수를 구함.

                  for(StringTokenizer st = new StringTokenizer(temp," "); st.hasMoreElements();){

                      st.nextToken();

                      colsCnt++;

                  }

         

                   // 모든 행를 buffer에 저장

                   buffer += temp + "/";

         

                  // 가장 큰 열의 수를 구함 

                  if(colsCnt > colsMax) colsMax = colsCnt;

         

                  // 열수 초기화

                  colsCnt = 0;

         

                  // 행수 증가

                  rowsCnt++;

                          

              } //end_while

        

             // 최대행수 구함

            rowsMax = rowsCnt;

       

            // 배열 생성 csv 기본형태의 행과 열

            String[][] iarray = new String[rowsMax][colsMax];

            // 배열 생성 csv 행과 열의 바뀐 형태

            String[][] jarray = new String[colsMax][rowsMax];

       

            // buffer에 저장된 내용을 token으로 나눔

           StringTokenizer st = new StringTokenizer(buffer, "/");

 

          // 행수 초기화

          rowsCnt = 0;

      

          while(st.hasMoreElements()){

         

              String[] rowsline = st.nextToken().split(" ");

                           

              for (int i = 0; i < colsMax ; i++) {

                   if(rowsline.length > i) // 열수에 맞추어서 배열 넣음

                       iarray[rowsCnt][i] = rowsline[i];

                   else

                       iarray[rowsCnt][i] = ""; // 각각의 행에 열 수가 맞지 않으면 공백문자

               

         

               rowsCnt++;

               

          }

          

          // 행과 열을 바꿈

          for (int i = 0; i < colsMax; i++) {

              for (int j = 0; j < rowsMax; j++) {

                 jarray[i][j] = iarray[j][i];

             }

          }

            

     

          for (int i = 0; i < colsMax ; i++) {

     

              for (int j = 0; j < rowsMax ; j++) {          

             System.out.print(jarray[i][j] + "\t");

              }

       

              System.out.print("\n"); 

          }

     

       }

 

   }

}


이 코드는 저장한후 행과열의위치를 바꾼코드인데..


정상적으로 출력하려면어떻게해야하나요 ㅠㅠ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 모태 솔로도 구제해 줄 것 같은 연애 고수 스타는? 운영자 25/07/21 - -
415413 진짜 급합니다 형님들 for문안에 3개 이상의 식 넣는 법 [7] 형님들도와줘요(118.107) 14.03.30 852 0
415410 어셈 덧셈 구현 질문점 asdgasdg(118.107) 14.03.30 84 0
415409 프로그램 실행과 관련하여 질문있습니다.ㅠㅠ [2] windroad4(118.107) 14.03.30 166 0
415407 남의 인생에 쓸데없이 바람넣지 말자! [2] 허세갑(175.223) 14.03.30 153 0
415406 프로그래밍하다가 다리삠 [1] (118.107) 14.03.30 85 0
415405 혹시 윈도우즈에도 dmalloc나 gprof같은거 해주는 프로그램 있나? [5] 스노플갤로그로 이동합니다. 14.03.30 249 0
415403 옥타브나 매트랩 할주 아는 성님 업나? 옥타브매트랩(118.107) 14.03.30 59 0
415400 인텔 내장 쓰는데 윈8.1 쓰려는 갤러 있냐? 구루구루(118.107) 14.03.30 54 0
415399 이럴땐어떡하죠 어-예(220.72) 14.03.30 86 0
415398 ((c언어)) 반복문,조건문으로 프로그래밍 [5] 어려웡(118.107) 14.03.30 268 0
415397 3 state buffer에서 open state는 무슨 뜻이냐?? 수크라제갤로그로 이동합니다. 14.03.30 105 0
415396 프로그래밍 진짜 좉도 아니다. 1234(118.107) 14.03.30 132 0
415395 zz님은 취업하셨나요? [3] 허세갑(175.223) 14.03.30 100 0
415394 이번에 acm icpc 나가봐야지 [4] ㅁㄴㅇㄹ(103.4) 14.03.30 152 0
415393 수치해석은 수학 과목이냐 컴퓨터 과목이냐 ㅁㄴㅇㄹ(103.4) 14.03.30 162 0
415391 자바 처음공부하는데 도와주실수 있나요? [1] 123(114.111) 14.03.30 74 0
415389 마프 어셈블리 도와주세여 [2] 오곡청년(118.107) 14.03.30 447 0
415388 [c언어] 이차식의 근을 출력하는 프로그래밍.. [13] ㅠㅠ어려워(114.111) 14.03.30 228 0
415387 베토벤바이러스-펌프 이웃집힘법사갤로그로 이동합니다. 14.03.30 119 0
415386 c++문제 좆쉬운거 [6] 됴됴(114.111) 14.03.30 197 0
415385 zz님 취업할 때 [3] 허세갑(175.223) 14.03.30 163 0
415384 파싱의 기본은 인터프리터 만들기다 [7] (118.107) 14.03.30 152 0
415383 nobodyknows+ - ココロオドル 이웃집힘법사갤로그로 이동합니다. 14.03.30 41 0
415382 형들 운영체제 과제인데 너무 빡세요.. 도저히 못하겠어요 도와주세요 ㅠ [2] 공대ㅄ(118.107) 14.03.30 117 0
415381 dc개발자도 참 쓰레기다 xx(118.107) 14.03.30 93 0
415380 오토메틱 마리오(Automatic Mario) [1] 이웃집힘법사갤로그로 이동합니다. 14.03.30 61 0
415379 메쓰랩이 없어? [1] 이웃집힘법사갤로그로 이동합니다. 14.03.30 180 0
415378 여자든 나처럼 지잡이든 [3] 허세갑(175.223) 14.03.30 109 0
415377 학교에서 매틀랩 불법다운로드 하지 말라고 공문 내려왔대. [10] 블랙홀군갤로그로 이동합니다. 14.03.30 193 0
415376 파싱의 기본은 웹페이지 분석 이다 [1] (118.107) 14.03.30 78 0
415375 갓오브하이스쿨 12화보는중... 허세갑(175.223) 14.03.30 28 0
415373 학교과젠데 도와주세요ㅠ ㅇㅇ(114.111) 14.03.30 63 0
415370 옥타브좀 하시는분 ㅠㅠ/? 매트랩옥타브(114.111) 14.03.30 45 0
415366 에바 그린 가슴 존나 예쁘다 ㅁㄴㅇㄹ(103.4) 14.03.30 133 0
415365 지금 디시 IP주소 변조되고 있다 [2] (118.107) 14.03.30 185 0
415363 스크래핑 vs 파싱 vs 크롤링 [3] 녹차(118.107) 14.03.30 1905 0
415362 한국에서 찍는 이유가 최첨단 it 강국이라서 그렇다네 [1] ㅇㅇ(118.107) 14.03.30 87 0
415360 [c언어] 특정점수 순으로 이름(문자열)을 정렬할건데; [11] ㅇㅇ(114.111) 14.03.30 111 0
415359 혹시 설치프로그램 아는 형 강좌 좀 써줘 [2] 허세갑(175.223) 14.03.30 63 0
415358 형들 논리회로 문제인데 풀이랑 답 점 알려주세요 도통 모르겠어요 ㅠㅠ [1] dkadls갤로그로 이동합니다. 14.03.30 82 0
415357 형들 자바로 gui 만들다가 리커트 스케일 점수 입력하는 걸 달았는데 [2] 회색사과갤로그로 이동합니다. 14.03.30 167 0
415355 고갤덕후가 자라면 ㅋㅋ(118.176) 14.03.30 32 0
415354 여기가 그 변태로리덕후만모잉다능 [2] ㅋㅋ(118.176) 14.03.30 144 0
415353 자바가많이크긴했지 sh(68.145) 14.03.30 173 0
415352 멀티쓰레드의 이해 이웃집힘법사갤로그로 이동합니다. 14.03.30 87 0
415351 언어라는건 인터페이스에 불과한데 [4] (114.111) 14.03.30 153 0
415350 화려한 덤블링 이웃집힘법사갤로그로 이동합니다. 14.03.30 107 0
415349 경찰의 희생정신 이웃집힘법사갤로그로 이동합니다. 14.03.30 52 0
415348 와 300 봤는데 ㅁㄴㅇㄹ(103.4) 14.03.30 55 0
415347 삼성과 사과 [1] 이웃집힘법사갤로그로 이동합니다. 14.03.30 84 0
뉴스 '좀비딸' 조정석 "6세 딸 위해 목숨도 걸 수 있어요"[인터뷰] 디시트렌드 07.25
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2