코딩테스트 문제를 풀 경우 input이 txt파일로 되어 편하게 설정할 수 있는 방법을 배웠다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Solution{
public static void main(String[] args) throws IOException {
String path = System.getProperty("user.dir")+ "\\src\\";
System.setIn(new FileInputStream(path+"input.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String s = br.readLine();
StringTokenizer st = new StringTokenizer(s);
bw.write(st.nextToken());
bw.flush();
}
}
다음과 같이 System.getProperty로 현재 working directory 을 얻어오고 source파일이 있는 경로까지 추가해준 후, setIn을 통해서 File을 읽어오면 된다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Solution{
static int[][] graph = new int[20][20];
public static void main(String[] args) throws IOException {
String path = System.getProperty("user.dir")+ "\\src\\";
System.setIn(new FileInputStream(path+"input.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String s = br.readLine();
//System.out.println(s);
int N,K,tc;
tc = Integer.parseInt(s);
for(int test_case = 1; test_case<=tc; test_case++)
{
s = br.readLine(); // Read the next line for each test case
StringTokenizer st = new StringTokenizer(s); // Create a new StringTokenizer for each test case
N = Integer.parseInt(st.nextToken());
K = Integer.parseInt(st.nextToken());
//System.out.println(N+" "+K);
for(int i=0; i<N; i++) {
s = br.readLine();
st = new StringTokenizer(s);
for(int j=0; j<N; j++) {
graph[i][j] = Integer.parseInt(st.nextToken());
}
}
}
bw.flush();
}
}
input.txt
3
5 3
7 7 4 0 0
3 6 6 7 1
7 0 5 5 7
4 8 3 2 4
6 0 6 8 1
7 2
4 0 2 6 5 0 2
3 6 2 2 1 9 8
2 3 5 7 7 8 7
6 3 4 4 1 8 9
3 8 2 2 1 3 0
5 6 6 9 3 4 5
2 1 4 0 2 9 4
20 4
4 8 1 4 5 2 3 6 8 7 1 2 7 2 4 8 8 5 2 8
2 7 7 8 8 8 1 7 4 8 6 5 7 4 1 4 3 8 5 5
0 8 2 2 4 7 5 8 5 8 4 6 0 1 6 8 2 3 5 4
8 3 6 1 4 2 4 6 0 7 7 3 3 3 0 4 0 5 6 8
4 6 6 7 2 1 1 4 4 7 4 1 2 4 0 6 3 3 7 3
0 2 3 3 7 0 0 7 7 6 7 2 5 2 3 0 3 3 0 4
7 0 7 3 6 0 8 6 5 3 3 7 8 2 2 8 2 8 3 7
6 8 8 4 5 6 0 8 3 6 2 3 0 4 8 0 7 1 1 2
3 7 6 4 4 1 4 5 4 5 2 2 2 6 3 5 7 4 2 5
0 3 6 8 4 7 7 3 1 1 6 7 6 5 3 2 5 6 8 7
6 6 6 2 1 2 5 8 7 6 3 6 8 3 7 6 5 0 1 7
1 5 6 2 7 8 2 6 5 3 6 7 0 0 6 7 1 6 3 0
1 0 2 5 7 7 8 7 5 4 3 8 8 0 8 6 3 4 6 1
6 0 2 5 3 1 2 2 3 8 7 3 8 8 2 0 3 5 6 7
5 7 4 6 5 6 3 1 6 5 1 3 3 3 8 2 0 1 3 2
4 3 7 2 3 2 8 5 3 8 2 6 4 1 1 5 0 7 2 1
3 4 6 3 1 4 6 7 5 4 7 0 6 8 6 1 8 2 1 0
2 1 2 3 8 3 2 1 2 3 7 3 1 7 0 1 3 7 6 4
1 0 1 6 6 8 7 4 8 2 6 3 3 0 2 1 5 3 7 8
8 3 0 2 2 7 6 5 1 5 0 8 7 7 6 4 6 4 5 0
'JAVA > 문법, Collection' 카테고리의 다른 글
JAVA ASCII trick (0) | 2024.01.13 |
---|---|
JAVA abs function (0) | 2024.01.13 |
자바 입출력 정리(BufferedReader/Writer ,Scanner, System.out.print) (1) | 2024.01.11 |